Tyfoza blog
  • Fotogalerie 
  • 3D
  • Bastlení
  • Suzuki V-Strom
  • Další témata
  • Hledat
  • Archiv
  • Napsat Tyfovi

Otevření zahrady Panského domu

Bylo to velkolepé a lidí se sešlo opravdu mnoho. Měli jsme možnost se zúčastnit coby Václav hrabě z Kounic s chotí Josefínou. fotky od Stani Kadlčíka matap.cz

19. září 2026 · 1 min

ACW Blata

Za dva dny se podařilo odhalit tři pamětní desky. Všechny informace jsou přehledně sděleny v komentáři videa.

5. září 2026 · 1 min

Retro 68 žije

Často se čelím otázce: “A k čemu to je dobré?” Proč trávíš čas programováním pro čtyřicet let starý procesor, když tu máme cloud, umělou inteligenci a nekonečný výpočetní výkon?

3. září 2026 · 3 min

π-tá odmocnina z π

Je větší e na π nebo π ne e?

1. září 2026 · 2 min

Paměťový test

Naivní přístup spočívající v prostém zapsání a zpětném přečtení jedné hodnoty je pro odhalení skutečných defektů nedostačující. Polovodičová paměť je extrémně hustá fyzická matice tranzistorů, u které dochází k parazitním jevům, svodovým proudům a elektromagnetickému rušení.

28. srpna 2026 · 27 min

Srovnání 68k-MBC a Rosco_m68k

Proč stavíme homebrew počítače a kouzlo Motoroly 68k Návrat k hardwarovým kořenům (Bare metal) Žijeme v éře bezprecedentní výpočetní abstrakce. Od hardwaru nás dnes dělí mikrokód, operační systém, virtuální stroje, kontejnery a vysokoúrovňové běhové prostředí. Ačkoliv je tento vrstvený přístup nezbytný pro moderní vývoj softwaru, zcela izoluje vývojáře od základních principů fungování počítače. Stavba “homebrew” (po domácku vyráběných) počítačů je reakcí na tuto nepřehlednost. Jde o touhu porozumět počítači do posledního bitu, adresního pinu a hodinového taktu. Na vlastnoručně postaveném počítači víte přesně, co se děje, když se CPU resetuje, jak paměť odpovídá na požadavky a jak se přes I/O porty rozsvěcují LED diody. Je to absolutní kontrola, která spojuje svět elektroniky a nízkoúrovňového programování. Proč právě Motorola 68000? Zatímco 8bitovým homebrew počítačům kralují procesory Z80 a 6502, přechod do 16/32bitové éry má jediného nekorunovaného krále: procesor Motorola 68000 (zkráceně M68k nebo 68k). Tento čip formoval 80. a 90. léta, kdy poháněl legendární stroje jako Commodore Amiga, Atari ST, původní Apple Macintosh nebo konzoli Sega Mega Drive. Mezi bastlíři a vývojáři je 68k oblíbený z několika klíčových důvodů: Elegance instrukční sady: Na rozdíl od archaické a segmentované architektury x86 (Intel 8086), Motorola 68000 nabídla nádherně ortogonální instrukční sadu, která je pro programátora v asembleru radostí. ...

27. srpna 2026 · 9 min

Počítač Rosco_m68k

původní verze na githubu řešení od Solder Demon MOTOROLA 68010 na 10 MHz Rozšiřující deska a 4MB paměti Brzy snad přibude grafická a zvuková karta

26. srpna 2026 · 1 min

CP/M na 68k-MBC

Programování pro CP/M-68K Operační systém CP/M-68K poskytuje běžícím programům sadu služeb zvanou BDOS (Basic Disk Operating System). Díky nim program v jazyce C nemusí znát fyzické detaily hardwaru (např. na kterém pinu mikrokontroléru PIC je sériová linka). Místo toho program požádá CP/M o standardizovanou službu – například “vypiš znak” nebo “přečti klávesu”. Na procesorech řady Motorola 68000 se tyto služby volají softwarovým přerušením pomocí instrukce trap #2. Předávání parametrů Když chceš zavolat funkci BDOS z assembleru, CP/M-68K očekává následující konvenci: Registr d0 (spodní word): Číslo funkce BDOS (např. 2 pro výpis znaku, 9 pro výpis řetězce). Registr d1 (nebo a0 pro adresy): Parametr funkce (např. jaký znak vypsat, nebo adresa řetězce v paměti). Instrukce trap #2: Předání řízení operačnímu systému. Registr d0: Po návratu z trap #2 obsahuje d0 výsledek operace (např. přečtený znak nebo návratový kód). Seznam nejdůležitějších funkcí BDOS Zde je přehled základních funkcí, které se ti budou při programování retro her a utilit na 68k-MBC nejvíce hodit: Číslo v d0 Název funkce Popis a parametry 0 System Reset Ukončí program a vrátí uživatele do příkazové řádky (A>). 1 Console Input Čeká na stisk klávesy a její znak zobrazí na obrazovce (echo). Výsledek v d0. 2 Console Output Vypíše znak zadaný v registru d1 na terminál. 6 Direct Console I/O Univerzální funkce. Pokud je v d1 hodnota 255 (0xFF), pokusí se přečíst klávesu bez zobrazení (no echo). Pokud klávesa není stisknuta, vrátí v d0 nulu. Vhodné pro neblokující čtení. 9 Print String Vypíše na obrazovku textový řetězec. V registru d1 (nebo a0) musí být adresa řetězce ukončeného znakem dolaru ($). 11 Console Status Zkontroluje buffer klávesnice. Pokud je klávesa připravena, vrátí 0xFF v d0. Pokud ne, vrátí 0x00. Příklad 1: Neblokující čtení klávesnice Protože staré kompilátory jazyka C (jako Alcyon C) často nepodporují snadné vkládání assembleru přímo do C kódu (inline assembly), řeší se systémová volání tak, že se napíše malá funkce v assembleru, která se v C pouze deklaruje a následně s ním slinkuje. ...

25. srpna 2026 · 6 min

PIP v CP/M

PIP (zkratka pro Peripheral Interchange Program) je jedním z nejdůležitějších příkazů v historickém operačním systému CP/M. Zjednodušeně řečeno je to dobový ekvivalent dnešního příkazu copy (ve Windows) nebo cp (v Linuxu), ale uměl toho mnohem víc. Sloužil primárně ke kopírování souborů a přesouvání dat mezi různými fyzickými i logickými zařízeními (např. mezi disketami, tiskárnou, obrazovkou nebo děrnou páskou). Zvláštní syntaxe (Cíl = Zdroj) Na rozdíl od pozdějšího MS-DOSu nebo dnešních systémů, kde zadáváme nejdřív to, co kopírujeme, a pak to, kam to kopírujeme (např. copy ODKUD KAM), PIP používal opačnou logiku, která připomínala matematickou rovnici: CÍL = ZDROJ Běžné příklady použití v praxi Kopírování souboru na jiný disk: PIP B:TEXT.TXT = A:TEXT.TXT (Zkopíruje soubor TEXT.TXT z disku A na disk B.) Tisk souboru (odeslání dat na zařízení): PIP LST: = A:DOPIS.TXT (Vezme soubor a odešle ho přímo na fyzickou tiskárnu – LST jako List device.) Spojování více souborů do jednoho: PIP KNIHA.TXT = KAPITOLA1.TXT, KAPITOLA2.TXT (Vezme oba zdrojové soubory a plynule je spojí do jednoho nového souboru.) Zobrazení textu na obrazovce: PIP CON: = READ.ME (Pošle obsah souboru na konzoli – CON, tedy na obrazovku.) 68k-MBC Na CP/M-68k máme PIP na disketě A: tedy pak píšeme příkaz A:PIP Typický příklad – na disketě F: máme SKED editor. Vyvoříme zdrojový kód POKUS.C Na disketě C: máme céčkový kompilátor. C: se přepnu na disk C: C>A:PIP POKUS.C=F:POKUS.C zkopírujeme si soubor z diskety F: na aktuální disketu (C:) a pak už jenom SUBMIT C POKUS pro kompilaci a pak CLINK POKUS pro linkování a máme hotový POKUS.68K ...

24. srpna 2026 · 2 min

Space 68K Invaders

Space 68K Invaders je můj pokus o adaptaci klasické arkádové střílečky z roku 1978. Napsáno v Alcyon C, kompilováno a linkováno na procesoru a pro procesor Motorola 68008. Běží na jednodeskovém homebrew počítači 68k-MBC pod operačním systémem CP/M-68K. V článku řeším problematiku optimalizace hry pro textový terminál. Přestože 16/32bitový procesor taktovaný na frekvenci 8 MHz poskytuje pro podobný typ hry více než dostatečný výpočetní výkon, narazili jsme se jiný problém: odezva komunikačního rozhraní. V prostředí CP/M-68K typicky neexistuje přímý přístup do grafické paměti (VRAM) displeje. Veškerý vizuální výstup je odesílán jako proud ASCII znaků a escape sekvencí na připojený terminál (standardu VT100) prostřednictvím sériové linky RS232. Tento způsob komunikace, často na rychlosti 115 200 baudů, znamená, že prosté překreslení celé obrazovky o velikosti 24 řádků a 80 sloupců trvá z pohledu interaktivní hry neakceptovatelně dlouho. Tradiční přístup k programování her (vymazání obrazovky a vykreslení nové scény) zde proto naprosto selhává a vede k masivnímu zpoždění (lagu) a výraznému blikání (flickeringu) pohybujících se objektů. Fyzikální limity VT100 a RS232 Úzkým hrdlem při vývoji her pro terminál je sériová linka RS232. Oproti klasickým 8bitovým počítačům s přímým přístupem do video paměti (VRAM) musí 68k-MBC odesílat veškeré grafické změny sekvenčně. Zvolená komunikační rychlost je 115 200 baudů. Ačkoliv se to v kontextu retro počítačů jeví jako velmi rychlé připojení, pro interaktivní plynulé překreslování herní scény představuje tvrdý limit. Při standardním nastavení sériového přenosu 8N1 (1 start bit, 8 datových bitů, 1 stop bit bez parity) trvá přenos jednoho znaku přesně 10 bitů. Maximální teoretická propustnost sériové linky je tedy: ...

23. srpna 2026 · 21 min
Další  »
© 2026 Tyfoza blog · Powered by Hugo & PaperMod