Oznámení

Sbalit
Aktuálně žádná oznámení.

AmigaDOS

Sbalit
X
 
  • Filtr
  • Čas
  • Zobrazit
Vymazat vše
new posts

    #91
    O: AmigaDOS

    OK, akorát se koukám do dokumentace Amiga PROFI a začíná to vypadat, jak jsem tušil.

    Citace:
    Delay(time)
    Tato funkce funkce pozastaví proces na dobu určenou argumentem time. Časovou jednotkou je jedna padesátina (1/50) sekundy.

    To je 0,02 vteřiny. Až na to že C je dostatečné rychlé a tam více stačí zpomalení v násobcích 0,02 vteřiny, ale u Pythonu to nestačí. Myslíš, že by pomohlo exe v Assembleru, které by jen dělalo zpomalení o 0,01 vteřiny? Dle mne nepomohlo, obraz se musí zobrazit i tak po 0,02 vteřiny aby se zobrazil správně. Maximálně, kdyby to fungovalo by byl nějak rozhozen? Jednoduše C není dostatečne "Amiga", aby dokázal správně zobrazit něco v rozsahu menším, jak je 0,02 vteřiny?
    Amiga - PMD 85

    Komentovat


      #92
      O: AmigaDOS

      Stale nechapem vyznam 0.01, co s tym ziskas. Aj tak ti to nepojde na vsetkych Amigach rovnako. Stihnes vykreslit co potrebujes 50x za sekundu ( v tvojom pripade 100x za sekundu) ? Nerozumiem vyrazu dostatocne "Amiga". Ved zaklad Amigy (v Europe) je zobrazovacia norma PAL a televizor alebo monitor ti tiez nedokazal zobrazit viac ako 50FPS.
      Ved to nema logiku.

      Vobec neviem o co ti ide. Naco exe v assemblery so spomalenim 0.01 vteriny ?

      Este okrem Delay() mozes pouzit timer.device ( aj v C ) a cakat este menej ako 0.01... Ale to je cakanie, nie zobrazovanie.
      Normalne sa pouziva WaitVBL, v C teda WaitTOF() co znamena ze caka kedy sa luc dostane na vrch obrazovky. Cize ked nieco vykreslis rychlejsie ako za 1 snimok, tak pocka kym sa luc dostane zas na zaciatok, aby si tam nevidel vselijake defekty.

      Ked si myslis, ze ti to pojde s 0.01 na vsetkych a4000 rovnako, tak ti to musi ist aj s 0.02 rovnako...
      Amiga 1200T (E/Box)+BlizzardPPC 603p/363+060/66+BVision PPC+256MB+KS3.1+Cocolino+Lyra 2+Fast Ata MK-IV+320GB WD Blue 3200AAJB PATA HDD(PFS3)+dvdrw+dvd+cf2ide
      Amiga 1200+BlizzardPPC 603e/210+040/25+128MB+KS3.1+CF4GB(PFS3)

      Komentovat


        #93
        O: AmigaDOS

        OK,

        Pokiaľ mám na mojej konfigurácii v rámci emulácie správnu rýchlost zobrazovania a posuniem rýchlosť emulácie na inú hodnotu, tak pri rozsahu hodnoty 0,02 sekundy sa mi v programe nepodarí dosiahnúť požadovanů rýchlosť. Buď je teda beh programu rýchlejší ako má byť, alebo pomalší ako má byť.
        Teda napríklad pri zpomalení 0,02 mi pojde program o dosť rýchlejšie a pri zpomalení 0,04 mi pojde program o dosť pomalšie a medzihodnotu zpomalenia nemám k dispozícii.
        Amiga - PMD 85

        Komentovat


          #94
          O: AmigaDOS

          S konstantou pre pauzu to nepojde na kazdej amige rovnako, to by si musel mat pre kazdu konfiguraciu inu konstantu a to je prakticky nemozne a navyse na pomalsich konfiguraciach, kde netreba ziadnu pauzu by to bolo uplne mimo...
          Ak chces aby to islo na kazdej Amige (a emulatore) rovnako, v C mozes pouzit frame interrupt, ktory sa vola pri kazdom prekresleni obrazovky.V nom budes menit premenne od ktorych zavisi pohyb,alebo animovanie niecoho a budes mat zarucene, ze to pojde na vsetkych Amigach rovnako.

          V C by si mal invitation program jednoduchy:

          priprava:
          - otvoris obrazovku a okno - obrazovka=OpenScreenTags(...) a okno=OpenWindowTags(...)
          - nastavis si paletu farieb - LoadRGB4(vp,paleta,pocet wordov) ak to chces noaga, alebo LoadRGB32(vp,paleta) pre aga
          - otvoris si font - OpenFont(textattr struktura)
          - pridas interrupt - AddIntServer(5,interrupt struktura) 5=VBL

          hlavny cyklus:
          - v podstate tu pouzijes ten tvoj "type writter" engine, farbu nastavis pomocou SetAPen(rp,farba), poziciu textu nastavis Move(rp,x,y) a text alebo znak vypises Text(rp,"abc",pocetznakov)
          - pockas na vblank - WaitTOF()

          ukoncenie:
          -zrusis interrupt - RemIntServer(5,interrupt struktura)
          -zavries font - CloseFont(text font struktura)
          -zatvoris okno a obrazovku - CloseWindow(okno) a CloseScreen(obrazovka)

          a hotovo.
          Program v interupte sa bude vykonavat automaticky.
          Naposledy upravil DJM; 18.03.2015, 20:19:41.
          Amiga 1200T (E/Box)+BlizzardPPC 603p/363+060/66+BVision PPC+256MB+KS3.1+Cocolino+Lyra 2+Fast Ata MK-IV+320GB WD Blue 3200AAJB PATA HDD(PFS3)+dvdrw+dvd+cf2ide
          Amiga 1200+BlizzardPPC 603e/210+040/25+128MB+KS3.1+CF4GB(PFS3)

          Komentovat


            #95
            O: AmigaDOS

            Autorem citovaného textu je DJM Přejít na původní příspěvek
            S konstantou pre pauzu to nepojde na kazdej amige rovnako, to by si musel mat pre kazdu konfiguraciu inu konstantu a to je prakticky nemozne a navyse na pomalsich konfiguraciach, kde netreba ziadnu pauzu by to bolo uplne mimo...
            No tak presne neviem, čo myslíš tou konštantou. Pokiaľ zpomalenie 0,02, alebo 0,04, menší skok ako som písal pomocou pythonieho time.sleep() neni možný, tak to si zmerať viem, ale asi myslíš niečo iné, lebo toto je jednoduché. Jednoducho viem za aký čas sa má zobraziť postupne sa rozsvecujúce písmeno a pokiaľ je to moc rýchlo, tak prejdem z 0,02 na 0,04, ale ten skok je v niektorých prípadoch hrubý. Pre jednoduchosť to teda zatiaľ budem riešit tak, že keď táto situácia nastane, vyberem si podľa mňa menšie zlo a teda to pojde o 1 úroveň rýchlejšie, alebo pomalšie.

            Ano toto je program pre A4000. Pustíš to aj na A1200 do 4 MB RAM, ale bude to vyzerať zle. To samozrejme postupne vyrieším prevodom do C. Najskor to urobím v C pomocou DELAY. Potom sa možno budem hrať ďalej.
            Naposledy upravil Lisiak; 18.03.2015, 20:45:59.
            Amiga - PMD 85

            Komentovat


              #96
              O: AmigaDOS

              Trochu nechápu to srovnávání A1200 a A4000? A1200 má v základu 020, ale A4000 má jen CPU karty od 030 do 060. Tak pro jakou A4000 to vykreslování textu programuješ?
              http://jack.untergrund.net [AMIGA 600 AMIGA 1200 AMIGA 1200T AMIGA 2000 AMIGA 4000 AMIGA 4000T CD32 Mac mini G4]

              Komentovat


                #97
                O: AmigaDOS

                Tahám to teď z hlavy (nejsem doma), tak se můžu plést, zatím jsem řešil spíše jiné věci než testování, ale A4000, 040, 25 MHz by to měla bez problémů zvládnout. Použil jsem jedno ze svých videí, kde je SysInfo:
                My other games with AmigaPythonProgramming for fun! :D


                A pamatuji si, že A4000 tam měla rezervu. A taky si pamatuji, že A3000 to již nedávala. Jak bude čas udělám test. Nicméně o silnější konfigurace se v rámci možností postará jednoduchá detekce. Tedy někde to pude úplně OK a někde třeba o něco málo rychleji. U slabších konfigurací pude zpomalení na 0,02, nebo i na nulu a děj se vůle boží.
                Amiga - PMD 85

                Komentovat


                  #98
                  O: AmigaDOS

                  Nefunguje mi parametr Setfontu SCALE, když bootuji z DF0 (spouštím program hned po restartu z "diskety").

                  Chtěl jsem si udělat samospustitelný program z DF0, aby jsem si byl jist, že si program netahá něco z HDD a tak ho testovat a nepovedlo se mi správně zozchodit SETFONT. Na změnu písma v podporované velikosti to reaguje, ale když dám bitmapově dopočítat velikost pomocí SCALE, tak to je již problém. Bootuji z DF0 v emulaci, program se spustí bez načtení správné velikosti písma. Zkoušel jsem vše možné jak v startup sekvenci tak přímo v programu. Když pouštím program z HDD je vše OK. Neleze mi do palice, proč se font načte, reaguje na změnu podporované velikosti, ale SCALE mi když bootuji z DF0 nefunguje.... . Jako kdyby se po načtení SCALE načetla hned menší podporovaná velikost písma. Už jsem se u WB setkal s tím, že si sám mění barvy, když se na něj jde stejnou barvou (stejná barva kurzoru a pozadí) s čím jsem si poradil, ale nevidím důvod, proč by něco podemného měl dělat u SETFONTu, když je SCALE normálně podporovaný parametr.
                  Amiga - PMD 85

                  Komentovat


                    #99
                    O: AmigaDOS

                    .
                    Panda Libor

                    Komentovat


                      O: AmigaDOS

                      Tedy co se týče té nefunkčnosti parametru SCALE v SETFONTu, vypadá to na nastavení samotné startup-sequence. Jak jsem psal, pro načtení fontu v podporované velikosti bez SCALE příkaz SETFONT funguje, ale jinak ne a mělo by to být v nastavení SS. Nehodí mí sem někdo zdatnější v AmigaDOSu SS sekvenci s funkčním SCALE? Je jedno, odkud se bude bootovat.

                      "SetFont Topaz-L2 30 SCALE"

                      SETFONT mám v DH0:C/
                      Topaz-L2 mám v DH0:FONTS/

                      Jedna z mých SS sekvencí:
                      assign env: ram:
                      assign Python: df0:
                      Python -c execfile("d.py")
                      endcli

                      v programu:
                      import os
                      os.system("SetFont Topaz-L2 30 SCALE")

                      "SetFont Topaz-L2 30 SCALE" samozřejmě může být i v samotné SS sekvenci.
                      Amiga - PMD 85

                      Komentovat


                        O: AmigaDOS

                        Tak vidím, že ten kabel k noťasu jsi do té práce nakonc neodnesl. Měkoto

                        Ten Setfont a samotný font musíš mít na té disketě, to že to máš na disku je při spouštění z diskety zcela irelevantní. Spíš napiš, co tím setfontem chceš vůbec dosáhnout.
                        Pegasos II (1266MHz), 2048MB RAM, Radeon 9250 (256MB), HDD 200GB, USB 2.0, ZIP250 USB, USB floppy, SB Live!, HP LaserJet 1100, AmigaOS 4.1 Final Edition

                        Komentovat


                          O: AmigaDOS

                          Ako pise Prober, tak setfont, font a diskfont.library musis mat tiez na diskete z ktorej bootujes, lebo to inac nenajde. Disk z ktoreho sa bootuje je automaticky naasignovany ako SYS: a k nemu ostatne assigny ( C,DEVS,LIBS,FONTS,atd ), takze to hlada v tych adresaroch...

                          Tu som teraz narychlo spravil jednoduchy bootdisk obsahujuci potrebne veci pre "SetFont font 30 scale"...

                          disketa so startup-sequenciou a setfont...
                          Amiga 1200T (E/Box)+BlizzardPPC 603p/363+060/66+BVision PPC+256MB+KS3.1+Cocolino+Lyra 2+Fast Ata MK-IV+320GB WD Blue 3200AAJB PATA HDD(PFS3)+dvdrw+dvd+cf2ide
                          Amiga 1200+BlizzardPPC 603e/210+040/25+128MB+KS3.1+CF4GB(PFS3)

                          Komentovat


                            O: AmigaDOS

                            Prober: Já a měkota? No počkej! Já si ten kabel brávam do práce, ale včera večer jsem si pro něj taky poctivě zašel ). Vše ohledem mého odvykání dolaďuji za běhu. Ale dnes jsem celý den laboroval s tímhle problémem.

                            Tak problém vyřešen! Já měl v LIBS diskfont.library, ale nějakou verzi o velikosti necelých 5 kB! A to byl ten problém, hned jak jsem byl upozorněn jsem se na to kouknul a zkusil tu verzi, co mi poslal DJM a bylo vymalováno.

                            Kdyby jsem měl na tohle příjít sám, tak by to ještě nejakou "chvili" trvalo. Díky moc za navedení!
                            Amiga - PMD 85

                            Komentovat


                              O: AmigaDOS

                              Autorem citovaného textu je Prober Přejít na původní příspěvek
                              Spíš napiš, co tím setfontem chceš vůbec dosáhnout.
                              Jen postupně zprovozňuji své neoficiální uvítání na RESETkání na Amigu. Tohle stejný bude mít i první verze v C.
                              Amiga - PMD 85

                              Komentovat


                                O: AmigaDOS

                                Autorem citovaného textu je Lisiak4 Přejít na původní příspěvek
                                Vše ohledem mého odvykání dolaďuji za běhu.
                                Je mi to jasný, já stejným způsobem už mnoho let přestávám kouřit
                                Pegasos II (1266MHz), 2048MB RAM, Radeon 9250 (256MB), HDD 200GB, USB 2.0, ZIP250 USB, USB floppy, SB Live!, HP LaserJet 1100, AmigaOS 4.1 Final Edition

                                Komentovat

                                Zpracovávám...
                                X