• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    GREAT_RChlubeníčko - Co se vám povedlo? Čím se chcete pochlubit? - Pojďte se pochválit
    Povedlo se vám něco a nemáte to komu říct, protože je to prostě váš osobní win, vaše osobní čárka? Udělali jste dobrej skutek? Dobrej koláč? Podařilo se vám úspěšně pomstít svoji čest? Dejte to sem.

    Hned po spuštění skupiny padla otázka, jaký je rozdíl oproti diskuzi [Achievement unlocked]. Tady je laťka na zemi a můžete oslavit jakkoliv malé nebo velké všední nebo nevšední úspěchy.
    rozbalit záhlaví
    ANGELINE
    ANGELINE --- ---
    ZSIS: Respekt!!
    ZSIS
    ZSIS --- ---
    dokopal jsem se k tomu zalepit duši.
    víte totiž co je dražší než záplaty?

    nové duše.
    drží.

    MICHELLEDANIELS
    MICHELLEDANIELS --- ---
    LUSINDA: tak cely den je za me v poho a taky zalezi na jaky uvazek - kolik celkem hodin tydne. Kazdopadne to chce zase hlidat, aby to nechteli zneuzivat pro vic hodin za min penez. Chodit 2-3 dny tydne do prace co te vic uzivi a 2-3 dny tydne do prace, co te bavi je obcas fajn kompromis, jen ne kazdy je na to to takhle stridat a mit ruznorode. Nekdo ma radeji jednodussi řád a vetsi jistotu. A taky ne kazda prace toto umoznuje.
    LUSINDA
    LUSINDA --- ---
    MICHELLEDANIELS: on částečný úvazek taky není moc pro každého....na některých pracovištích si myslí že je vhodné např. chodit na 5/6 hodin denně. Zabiješ tím celý týden a prachy žádný.
    MICHELLEDANIELS
    MICHELLEDANIELS --- ---
    GIRAFFKA: nevyzadana rada - kdyby te to hodne sralo, ale penize byli motivacni, tak zkus treba castecny a castecny nekde, kde te to bude naopak bavit/naplnovat. Neni to pro kazdeho, ale mne to rozhodovani celkem usnadnilo.
    ANGELINE
    ANGELINE --- ---
    WRNQ: Spis dneska hlavne nejake kurzy, o kterych jsem nevedela. A do toho soukroma vyuka bez rezervace lajny. Mas jednu pomalejsi, jednu rychlejsi. Pomalejsi zabrali labute a neplavci, rychla fajn, ale na stredni tempo a rozplavani/vyplavani blby. Proste chybelo misto)
    WRNQ
    WRNQ --- ---
    ANGELINE: Hustě ty! Rozumím....skoro všichni lidi v bazénu jsou na pěst.
    Ale abych nebyla OT, tento týden jsem uplavala 3,7km:)
    ANGELINE
    ANGELINE --- ---
    Dneska prvni pres 2 km na bazene! Hodinky fakt motivujou. Zvladla bych vic, ale byl tam nejaky sileny kurz a musela bych nekoho utopit.
    GILHAD
    GILHAD --- ---
    Včera to definitivně zabalil disk, co mi doma v serveru běžel 4.5roku v kuse. Koupil jsem nový, všechno obnovil ze záloh a ještě vylešil rozložení repozitářů. Už mi všechno běží po novu a perfekně funguje :)
    GREAT_R
    GREAT_R --- ---
    Ze včerejších hrátek s cídidlem

    GILHAD
    GILHAD --- ---
    Jak píšu ten svůj FORTH, tak jsem se dostal ke slovu DOES> které dělá něco jako magii a používá se pro definování slov (třeba CONSTANT), která definují jiná slova (třeba Pi), která pak používají kus těla slova, které je definovalo.
    Používají přitom trik, kdy se mezi data vepíše instrukce CALL ve strojáku a jinde v datech se předstírá, že tato data jsou přeložený program.
    Což funguje hezky, pokud tu instrukci CALL jde spustit. Jenže já to píšu pro chip ATmega2560, který má oddělenou datovou (kam jde psát) a programovou (kde jde spouštět) paměť a nedají se mezi sebou zaměnit, takže mi tohle prostě nemůže takhle fungovat.
    Můžu to slovo sice vytvořit, ale pak už ho nemůžu použít.
    Vytvořené slovo si můžu vypsat jak vypadá, přepsat nějak do zdrojáku, zkompilovat, znovu nahrát a pak jde sice použít, ale zase nejde nijak rozumně upravit a celý ten proces je příšrně neinteraktivní (co mám normálně ve zlomku sekundy zabere řadu minut a potřebuju k tomu velký výkonný počítač.)

    A tak jsem myslel až vymyslel trik, jak si označit adresu jako speciální a nechat samotné srdce systému (NEXT) tuto adresu zpracovat tak, že se místo použití jako jednoduchý odkaz se použije jako odkaz na odkaz a ještě navíc do několika registrů uloží právě ty hodnoty, kvůli kterým se to dělá.

    Takže nemožné se stalo triviálním a v běžném provozu, kdy se to zrovna nepoužívá, tak mě to stojí jen 1 instrukci navíc (k těm asi 40, které teď NEXT má) :)
    NELLAS
    NELLAS --- ---
    Já se pochlubím, že vím. Ať jsem tu tematicky správně.
    DUCATIMONSTER
    DUCATIMONSTER --- ---
    GIRAFFKA: Že se to tu už podruhé řeší, tak to musím taky vědět.
    GIRAFFKA
    GIRAFFKA --- ---
    DUCATIMONSTER: tajemnej
    DUCATIMONSTER
    DUCATIMONSTER --- ---
    GIRAFFKA: Smím se zvědavě zeptat, co je to za obor?
    GIRAFFKA
    GIRAFFKA --- ---
    NELLAS: zustavam, jedine z myho oboru reagujou hned a ne jako troglodyti,ale pokukuju dal. Dik!
    NELLAS
    NELLAS --- ---
    GIRAFFKA: Smím se zvědavě zeptat, jestli zůstáváš v oboru nebo měníš? (A gratuluju!)
    GILHAD
    GILHAD --- ---
    Lezel mi monitor ladem, tak jsem ho pridal jako druhy k hlavnimu pocitaci a rozchodil vsechny veci okolo a kdyz jsem byl v tom, tak jsem taky nasel trvalejsi řešení na průhlednost pozadí a hlavně si to zdokumentoval, až to zase budu potřebovat nastavit.
    Teď si ty monitory budu muset ještě ochočit, ono se to nezdá, ale je to docela jiný styl práce :)
    GIRAFFKA
    GIRAFFKA --- ---
    GIRAFFKA: tak uz se mi povedlo sehnat praci. Cekala jsem sice vetsi palbu ve zvani na pohovry pri intenzite odesilani zivitopisu a aktivniho hledani, ale co uz. Pracovni doba teda horsi, ale prachama o dost jinde...to snad chvili vydrzim. Tak uvidime v dubnu:)
    GILHAD
    GILHAD --- ---
    Objevil jsem na netu implementaci CamelFORTH pro x86 Linux starou pouhých 10 let, tak jsem si ji stáhnul a přivedl k funkčnosti na svém současném Linuxu.

    Ani nebylo potřeba tolik změn, jen bylo složité přijít na to, jaké přesně mají být, protože dnešní překladače a linkery už fungují místy trochu jinak a tady to samozřejmě hrálo klíčovou roli.

    Chtělo to jen něco jako 14 hodin zkoumání a už to jede jako hodinky, tak jsem poslal autorovi zpátky svoje patche :)

    (CamelFORTH má i verzi pro 6809 procesor, se kterým je kompatibilní procesor HD6309 se kterým chci postavit vlastní počítač. Takže když mi ten samý FORTH pojede i na PC, tak se mi to bude ladit a portovat mnohem líp. A navíc to můžu použít i jako inspiraci pro tu mojí mašinku MHF-002, co se tu s ní chlubím, a psát ten FORTH pro ní tak, aby s tímhle byl co možná nejkompatibilnější - čímž bude pak kompatibilní i s tím pro retro počítač s HD6309. A budu moct zkoušet různé příkazy na všech třech a ladit co se mi nebude zdát.)
    GILHAD
    GILHAD --- ---
    GILHAD:
    GILHAD:
    GILHAD:

    Tak už má můj FORTH i TUI (Text User Interface) - dá se v něm editovat příkazová řádka a spouštět všechna známá slova :)
    Jinými slovy - už se s ním dá normálně uživatelsky komunikovat příčetným způsobem.
    A celé to uživatelské rozhraní je napsané ve FORTHu (asi 25 "slov", jak říká funkcím, které se přeloží na asi 500 buněk (po 3bytech) plus hlavičky)
    Celkově to má asi 2.5k řádků v asembleru s výrazným použitím maker a asi 300 řádků v C, kde tomu převážně nastavuju počáteční stav a vypisuju nějaké debugy.

    Běží to na ATmega2560 mikrokontroleru (Arduino Mega) a zvládá to interpretovat asi 100.000 příkazů za sekundu
    celkově to přeložené má asi 11kB kódu, používá to 1.355 bytů RAM a má to asi 100 "slov", 25 ve FORTHu a zbytek v asembleru

    Tímhle jsem definitivně překročil hranici, mezi tím kdy si jen něco píšu a ono se to třeba i přeloží a mezi tím, kdy mám něco, co se dá ukazovat lidem a ono to počítá a poslouchá a píše po obrazovce :)

    20 0 10 13 NEXTcounter CLS .h .h EMIT EMIT WORDS CURSOR_XY NEXTcounter .h .h


    20 0 - souradnice pro CURSOR_XY
    10 13 - odradkovani pro EMIT
    NEXTcounter - pocet provedenych slov
    CLS - smazani obrazovky (zbavim se ladicich vypisu pro cisla)
    .h .h - vypis poctu provedenych slov
    EMIT EMIT - odradkovani
    WORDS - vypis znamych slov
    CURSOR_XY - posun nahoru a doprava
    NEXTcounter .h .h - vypis slov podruhe (mezitim co se prekladalo a ve slovniku hledalo vse od minuleho vypisu)

    Kliknutím sem můžete změnit nastavení reklam