atarionline.pl xBIOS - demo nowych funkcji - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorpin
    • CommentTime30 Jan 2014 zmieniony
     
    ... to znaczy, co to za próbka konkretnie i czemu ma to służyć? ;)
    • 2: CommentAuthorxxl
    • CommentTime8 Feb 2014
     
    ->link<-

    testujemy nowego plajerka na GTIA.

    przy okazji kilka funkcji w xB :-)

    do posluchania mp3

    ->link<-
    • 3:
       
      CommentAuthorjhusak
    • CommentTime8 Feb 2014 zmieniony
     
    Jakieś konkrety tego playerka są? Bo gra zacnie...
    • 4: CommentAuthorxxl
    • CommentTime9 Feb 2014
     
    caly czas poprawiany. dzis wyszlo, ze kanaly nie graly z ta sama glosnoscia (gdy wylaczyl sie jakis kanal dwa pozostale graly glosniej), dodalem tez obsluge na klawiszach, mozna wlaczac i wylaczac kanaly w czasie odtwarzania. 6 oktaw, format nuta1,nuta2,nuta3,sampel1,sampel2,sampel3.
    • 5:
       
      CommentAuthorjhusak
    • CommentTime10 Feb 2014
     
    Nic nie zrozumiałem, oprócz tego, że ma 6 kanałów w sumie i 6 oktaw (zapewne "nut", nie sampli) :)
    • 6: CommentAuthorxxl
    • CommentTime10 Feb 2014
     
    sorka. tu jest instrukcja:

    ->link<-
    • 7: CommentAuthorGonzo
    • CommentTime15 Feb 2014
     


    f15 - od dzisiaj kodów nie wpisujemy :)

    crack niestety nie jest pełny i działa tylko dla kodów 0-9
    • 8: CommentAuthorxxl
    • CommentTime18 May 2014 zmieniony
     
    indeksowanie plikow i danych w plikach.

    przykladowo mamy kilka leveli polaczonych w jeden plik. standardowo dostep do tych danych realizujemy tak:
    - otworz plik
    - przesun wskaznik biezacej pozycji w pliku POINT/SEEK
    - pobierz dane

    w przypadku DOSow z rodziny Atari/My/Bibo/Top itd. DOS, problem jest taki, ze funkcja POINT nie jest wzgledna co oznacza, ze jesli przeniesiemy plik na inna dyskietke lub inna gestosc zapisu to program nie bedzie dzialal poprawnie. mozemy tez odczytac plik od poczatku do interesujacych nas danych - zabiera sporo czasu.

    w przypadku DOSow na filesystemie SpartaDOS dane w jaki sposob lezy plik na dysku przechowywane sa osobno, przez co dostep do danych w pliku wymaga ciaglej obecnosci tych danych w pamieci dla calego pliku.

    w xB obydwie te wady zostaly usuniete dodatkowo czas dostepu do tych danych zostal zminimalizowany.
    nie potrzeba otwierac pliku (co wiaza sie z przeszukaniem katalogu - odczyt od kilku do kilkunastu sektorow) nie trzeba przesuwac wskaznik biezacej pozycji co wiaze sie w SDOS obliczanie pozycji z danych z osobnego pliku.

    xB oferuje obecnie najszybszy mozliwy sposob dostepu do poindeksowanych danych na dysku, poindeksowanych danych w pliku oraz do poindeksowanych plikow na dysku.

    w zalaczniku xB oraz przyklad wczytywania i odtwarzania pliku .SAP
    • 9: CommentAuthorpin
    • CommentTime18 May 2014
     

    XXL:

    w przypadku DOSow na filesystemie SpartaDOS dane w jaki sposob lezy plik na dysku przechowywane sa osobno, przez co dostep do danych w pliku wymaga ciaglej obecnosci tych danych w pamieci dla calego pliku.


    Możesz rozwinąć tę myśl, bo się pogubiłem? ;)
    • 10: CommentAuthorxxl
    • CommentTime18 May 2014
     
    w instrukcji tego dos powinien byc rozdzial o mapie sektorow, poczytaj.

    w skrocie. dostp do poindeksowanych danych wewnatrz pliku w przypadku xB jest natychmiastowy, nie wymaga zadnych dodatkowych operacji. w dos (wszystkich) plik musi byc wczesniej otwarty, zeby otworzyc plik trzeba go najpierw znalezc na dysku itd. itd....

    przykladowo mamy 20 plikow roznej wielkosci, w kazdym pliku mamy po 10 roznej wielkosci blokow z danymi, czyli mamy 200 interesujacych nas blokow danych, zrobmy test: odczyt po jednym bajcie z kazdego bloku. w przypadku xB dostep jest natychmiastowy a w przypadku DOS :( ... rozjasnilo sie?
    • 11: CommentAuthorpin
    • CommentTime18 May 2014
     
    Nie musiałem się nad tym zastanawiać, bo w przypadku dysku twardego jest to pomijalna czasowo kwestia po prostu. Ale ok, to rozumiem tylko chaotycznie to opisałeś i stąd pytanie.
    • 12: CommentAuthorxxl
    • CommentTime18 May 2014
     
    kiedys jesli program byl niewydajny i niewspolmiernie pozeral zasoby to wymienialo sie program a nie upgrejdowalo sprzet :D
    • 13: CommentAuthorpin
    • CommentTime18 May 2014
     
    dlatego napisali SDX, bo radzi sobie o niebo lepiej w każdym temacie dotyczącym obsługi plików. Mowa o dosach, bo to co sobie tam rzeźbisz to jeszcze inna parafia jest.
    • 14: CommentAuthorxxl
    • CommentTime18 May 2014
     
    i dlatego npisali xB, bo rozwiazania dos sa niewydajne. wyzej masz przyklad jak bardzo niewydajne w stosunku do xBios :-)
    • 15: CommentAuthorpin
    • CommentTime19 May 2014
     
    nie promuj tego rozwiązania (xB)w ten sposób, bo xBios w stosunku do aktualnie osiągalnego hardware'u nie jest przyszłościąwą alternatywą ;) Jest jedynie dobrą alternatywą dla stockowego sprzętu - może i prawda - ale w stosunku do zaawansowanych nośników pamięci masowej powoduje jedynie spowolnienia transferu danych. I wiesz o tym doskonale.
    • 16: CommentAuthorxxl
    • CommentTime19 May 2014
     
    Twoj "zaawansowany nosnik pamieci masowej" spowalnia transfer przy obsludze atr. xBios nie ma tu nic do rzeczy :-)
    • 17: CommentAuthorpin
    • CommentTime19 May 2014
     
    Owszem, bo format ATR nie ma przyszłości i nikt się nim nie będzie przejmował zanadto. Spowolnienie po części wynika z ograniczeń nierozwojowego rozwiązania ;) Jak na razie, to wyłącznie plikowy dostęp wraz z dos w połączeniu z nowym urządzeniem sprzętowym daje maksymalną prędkość I/O.
    • 18: CommentAuthorxxl
    • CommentTime19 May 2014
     
    To Twoje zdanie :-) poza tym jak widac nie przejmuja sie tez filesystemem FAT bo ten rowniez zwalnia na tym "zaawansowanym nosniku pamieci masowej" - ciekawe ze na starym SIO2SD dziala bez niespodzianek :-)
    Chcesz "plikowego dostepu" to zmien filesystem :-) np. na ADOS FS a magicznie wszystko zacznie dzialac z pelna predkoscia... tak, xB tez :-)
    • 19: CommentAuthorpin
    • CommentTime19 May 2014
     
    Fat nie zwalnia. No może tylko w trybie "side-loadera", lecz jest to kwestią błędnego podejścia do odczytu pod samym loaderem. Poza tym, to odczyt z fata mam na poziomie od 90kB do 270kB/s

    Systemu plików też nie mam co zmieniać, bo przyzwyczaiwszy się do pewnego poziomu ciężko się cofać z możliwościami do tyłu.
    • 20: CommentAuthorpin
    • CommentTime19 May 2014
     
    Może jakby format Atari DOS miał odmianę na sektor 512B - no to by coś dało. Problem w tym, że go nie ma a xBios raczej nie obsłuży takiego sektora. No chyba, że się mylę.
    • 21: CommentAuthorxxl
    • CommentTime19 May 2014
     
    270 kB/s? calkiem niezly wynik dla komputerka z procesorem 1.79, lda / sta to 8 cykli czyli najszybciej jak atari moze przewalic dane to ok. 210 kB/s - lancuszek lda/sta musialby byc 6 x dluzszy od danych ktore przenosi czyli 100 bajtow odebranych danych to 600 bajtow programu ktory te dane moze odebrac :-)
    • 22: CommentAuthorpin
    • CommentTime19 May 2014
     
    około 90kB/s przy włączonym Anticu, około 100 przy wyłączonym (vbxe), 272kB/s osiągnęło side2 z taką śmieszną kartą CF, ale na Rapidusie po dopale.
    • 23: CommentAuthorxxl
    • CommentTime19 May 2014
     
    niestety... musisz upgrejdowac inaczej Twoj bloat dos nie bedzie dzialal ;-) szkoda, ze atari stracilo kolejnego usera, szkoda tym bardziej, ze muzyka. moze kiedys jeszcze wrocisz do atari.
    • 24: CommentAuthorpin
    • CommentTime19 May 2014
     
    Atari to coś więcej, niż 64k i XC12. Może czas zmienić podejście, bo właśnie dzięki takiemu hardware'owi ludzie odeszli od muzykowania / programowania / rysowania na real_hw. Na temat rozszerzeń nie chce mi się nawet gadać ale jedno, co jest proste do zrozumienia to fakt, że są one po to, by usprawnić zabawę i by wreszcie można było wrócić do pracy na Atari a nie PC. Więcej z tego radości jest, uwierz mi ;)

    Np. teraz rozpakowuje 0.5MB archiwum ARC z playerem do AY na Atari - testy. Wiesz, co trzeba zrobić na stockowej maszynie by rozpakować takiego molocha? ;)
    • 25: CommentAuthorxxl
    • CommentTime19 May 2014 zmieniony
     
    masz racje, kiedys xc12 zabijalo atari, dzis ducha atari zabija wmawianie ze "rozwoj" to upgrejdowanie do 16 bitow cpu, 16 bit dzwiek, 24bit grafika itd. itd... wpadasz ze skrajnosci w skrajnosc - bardzo niestabilne zachowanie ;-)
    • 26:
       
      CommentAuthorKaz
    • CommentTime19 May 2014
     
    Gdzie tu przycisk do dyskusji "Lubie to"? :D
    • 27: CommentAuthorpin
    • CommentTime19 May 2014
     
    8/16 bit, a to różnica jest, nie 16 bit dźwięk tylko opcjonalnie 8, a vbxe to też masz i to chyba złe nie jest jak sądzę ;)

    ... a w skrajności wpadam, jak czytam o szybkości I/O pod xB :D .. no może i na stock coś to daje, pytanie tylko jak długo ;)

    Dobra, dajmy już spokój ;)
    • 28: CommentAuthorxxl
    • CommentTime20 May 2014
     
    > a w skrajności wpadam, jak czytam o szybkości I/O pod xB :D

    widac nie miales do czynienia z nowym xB :-) na domyslnych ustawieniach ograniczeniem szybkosci jest sa tylko mozliwosci urzadzenia :-) wiec jesli Twoje uzadzenie wyciaga 90kB/s to xB na tym urzadzeniu bedzie wyciagal 90kB/s :-)
    • 29: CommentAuthorpin
    • CommentTime20 May 2014
     
    Z tym, że do tego musiałbym pozostawić jedną partycję na sektorze 256B w formacie MyDOS, a jest to -16MB w pojemności partycji z zakresu D1:-D16:, lub po -16MB dla każdej takiej. Dodatkowo z racji na to że dysk twardy fizycznie operuje na sektorach 512 B i sterownik musi składać sektory 512 z dwóch 256, to ostatecznie transfer spada do 50-60kB/s przy odczycie, jeszcze bardziej przy zapisie. Nie jest to oczywiście "wadą" cobyś tak nie mówił, bo wadą Atari FS jest to, że nie pracuje na niczym ponad 256B/sektor. Ostatecznie, to kiedyś nie miało to większego znaczenia - teraz ma.
    • 30: CommentAuthorxxl
    • CommentTime20 May 2014
     
    tak to wszystko wina xB a nie urzadzenia ;-)

    ->link<-
    • 31: CommentAuthorpin
    • CommentTime20 May 2014
     
    wina nieudolnego systemu plików ATARI-DOS ;). A Ty trzymasz się go jak Jaś i Małgosia razem ;)
    • 32: CommentAuthorxxl
    • CommentTime20 May 2014
     
    jak pokazuje test wyzej filesystem spartados jest jeszcze gorszy
    • 33: CommentAuthorpin
    • CommentTime24 May 2014
     
    widocznie xBios jest niedorobiony i wybrakowany ;)
    • 34: CommentAuthorxxl
    • CommentTime24 May 2014
     
    cos Cie izoluje od faktow.
    • 35: CommentAuthorxxl
    • CommentTime8 Jun 2014 zmieniony
     
    bylbym zapomnial uzupelnic.

    1. przyklad szybkiego dostepu do poindeksowanych danych w pliku i poindeksowanych plikow.

    2. przyklad odtwarzania muzyki podczas wczytywania, ladowania na strone zero, pod rom itp.

    w zalaczniku.

    xBIOS                           equ $0800
    xIRQEN equ xBIOS+$3e8
    xBIOS_SET_DEFAULT_DEVICE equ xBIOS+$2A
    DLP_PLAYER_ZPG_VARS equ $e0
    DLP_PLAYER_ADDRESS equ $78d4
    DLP_ADDRESS equ $7000
    ;AUDCTL_SUPPORT equ 1
    ;XBIOS_AUDCTL_SUPPORT equ 1
    DLP_INIT equ DLP_PLAYER_ADDRESS+$80
    DLP_PLAY equ DLP_PLAYER_ADDRESS+$83

    icl 'atarihw.ah'

    opt h- ; bez identyfikatora FFFF
    org [a(start,start+(stop-start)-1)],$0c00
    start
    sei
    lda #0
    sta nmien
    sta irqen
    sta dmactl
    sta xIRQEN
    lda #$fe
    sta portb ; ROM OFF
    jmp xBIOS_SET_DEFAULT_DEVICE
    stop
    opt h+
    ini start

    org $7000
    ins 'dciomusic.dat'

    org $0000 ; prosto na strone zero

    IONMI sta zpa
    stx zpx
    sty zpy
    jsr DLP_PLAY
    lda #0
    zpa equ *-1
    ldx #0
    zpx equ *-1
    ldy #0
    zpy equ *-1
    rti

    playmusic
    lda <IONMI
    sta $fffa
    lda >IONMI
    sta $fffb
    jsr DLP_INIT
    lda #$40
    sta nmien
    rts
    ini playmusic

    org $c000 ; do RAMU pod ROM
    :$1000 .byte $ff

    org $d800
    :$2700 .byte $ff

    koniec lda random
    sta colbak
    jmp koniec

    run koniec
    • 36: CommentAuthorpin
    • CommentTime8 Jun 2014
     
    po co odtwarzać muzykę w czasie ładowania? Jaki jest tego sens? Chodzi tylko o fakt, że się da? ;)
    • 37:
       
      CommentAuthorjhusak
    • CommentTime8 Jun 2014
     
    Pin, następnym etapem prac xxl będzie możliwość nagrywania muzyki w trakcie ładowania.

    A z drugiej strony - co to przeszkadza?
    • 38: CommentAuthorwieczor
    • CommentTime8 Jun 2014
     
    Już wyjaśniam pierwsze i być może jedyne sensowne zastosowanie - otóż masz grę z muzyką w tle ale niestety całość nie mieści się w pamięci i od czasu do czasu musisz coś doczytać. Przerywanie muzyki jest wyjątkowo słabym pomysłem i wku..rza :) Oczywiście żeby odtwarzać muzykę podczas wczytywania nie jest potrzebny xB - po prostu ma taki feature - tylko muzyka na dwa kanały (względnie taka gdzie dwa pozostałe da się płynnie i ładnie wyłączyć na chwilę).
    • 39: CommentAuthorpin
    • CommentTime8 Jun 2014 zmieniony
     
    Wieczor - to skomponuj taką muzę w której wyłączenie dwóch kanałów w czasie I/O na doczytywanie w dowolnym momencie będzie niezauważalne ;)

    @Kuba - a co to za feature? że przez 4 sekundy ładowania zagra wstęp do muzyczki (np. Mazazem), gdzie słysząc muzykę nerwowo naciskam fire, bo myślę - gra - to chyba już jest (a nie jest) .. no i naciskam i naciskam i myślę: Joy zrypany, albo gra wisi. No i po kilku sekundach okazuje się, że się załadowało. I taki sens jest. Może to i ciekawe, ale taki ficzer w połączeniu z np. obrazem ATR i HDD nie zadziała. Mamy więc możliwość załadować ze sio i tyle. A rozchodzi się o kilka sekund muzy... no i mamy ograniczenia nie wiedzieć po co. Zaraz, to XXL napisze że to urządzenia są ograniczone. Obawiam się niestety, że tak nie jest ;)
    • 40: CommentAuthorxxl
    • CommentTime9 Jun 2014
     
    > Oczywiście żeby odtwarzać muzykę podczas wczytywania nie jest potrzebny xB

    oczywiscie. jest kilka przykladow - ale to wszystko gry calodyskowe lub demosy z wlasnymi irqloaderami. xB pozwala na to z wykorzystaniem filesystemu - zwykle pliki. oprogramowanie tego teraz jest bardzo proste.
    • 41: CommentAuthorxxl
    • CommentTime9 Jun 2014
     
    > gdzie słysząc muzykę nerwowo naciskam fire, bo myślę - gra - to chyba już jest (a nie jest) .. no i naciskam i naciskam i myślę: Joy zrypany, albo gra wisi. No i po kilku sekundach okazuje się, że się załadowało.

    RACJA. trzeba bedzie na ekranie umieszczac info ze wlasnie trwa I/O nie wylaczaj sprzetu :-) identycznie jak na PS3 :D
    • 42: CommentAuthorwieczor
    • CommentTime9 Jun 2014
     
    @pin: prościej jest jednak zrobić 2 kanałową przez cały czas :) I zużyć pozostałe kanały na efekty - które i tak są używane kiedy nic się nie czyta. Taka muza "dynamicznie kanałowa" jest możliwa, ale to trudne, zależy od tematu, dostosowuje się do akcji jak muzyka w filmie - kupa roboty :)

    A oczywiście podczas ładowania dajemy sobie wskaźnik postępu na środku ekranu - user friendly, użytkownik widzi że coś się dzieje. Ale muza gra nadal i jest to o wiele lepsze wrażenie niż jej rwanie.
    • 43: CommentAuthormono
    • CommentTime9 Jun 2014
     
    A nie można by udostępniać wartości AUDF do odczytu dzięki czemu można by próbować grać podczas I/O sampelków o niskiej częstotliwości na IRQ?
    • 44: CommentAuthorxxl
    • CommentTime9 Jun 2014
     
    mozna dowoli korzystac z AUDF wolnych kanalow, rejestry AUDF kanalow zajetych przez I/O nie moga byc modyfikowane przez usera... mozna za to mozystac z AUDC3 - zajetego kanalu aby odgrywac sample.

    mozna tez uzywac AUDCTL (zapisujac jednoczensie do xAUDCTL), mozna tez korzysac z irq - xIRQEN. pierwsze wersje mialy tez taki trik, ze wszystko co zaczytal z SERIN szlo do rejestru glosnosci generatora 3 (mozna to bylo wylaczyc) jak ktos chcialby czytac sektory bezposrednio z samplami, ale efekt byl marny (od niedawana wiem dlaczego ;-)
    • 45: CommentAuthormono
    • CommentTime9 Jun 2014 zmieniony
     
    Pytałem o wartość AUDF3/4 a to po to, że wypadałoby ją znać żeby policzyć częstotliwość TIMR4 dla sampla. Mając xAUDCTL i xAUDF3/4 (jeśli korzystasz z łączonych dzielników) miałbym co trzeba. Prędkość komunikacji jest dość stabilna więc używany kanał można by wykorzystać do taktowania sampla a pozostałe kanały do grania muzyki. Używasz AUDF3 czy AUDF3/4? Jeśli tylko jedenego licznika, to czy można by taktować transmisję np. licznikiem 4? I czy mógłbyś nie zapisywać podczas transmisji AUDCx żeby można było grać sampla właśnie?

    Edit: OS zapisuje głośność 8 (lub 0 kiedy IOSNDEN wyłączony) tylko w celach poglądowych.

    Edit 2: A może to nie ma sensu, przerwanie co 40 cykli CPU zarżnie wszystko... Ale to przynajmniej nie zapisuj rejestru AUDCx.
    • 46: CommentAuthorxxl
    • CommentTime9 Jun 2014 zmieniony
     
    1. jesli korzystamy z SIO wartosc podzielnika (AUDF3-4) trzymana jest w zmiennej xSPEED - mozna ja modyfikowac, w zmiennej xHSPEED przechowywany jest podzielnik dla Ultraspeed jesli urzadzenie zewnetrzne obsluguje.
    2. rejestr AUDC3 nigdy nie jest zapisywany - do swobodnego uzycia,
    3. transmisja SIO idzie zawsze na polaczonych kanalach 3 i 4, co prawda mozna na atari przeprowadzac I/O na jednym liczniku (AUDF4) ale z obliczen wynika, ze standardowa stacja dyskow tego nie obsluzy (speed w okolicach 31kb troszke mniej niz turbo stacji XF551) - natomiast na SIO2PC dziala wysmienicie (Fox pisal, ze transmisja na jednym kanale moze byc problemowa)
    5. mozna grac sampla na AUDC3
    6. przy przerwaniu co 40 cykli nie ma mowy o stabilnym I/O
    • 47: CommentAuthormono
    • CommentTime9 Jun 2014
     
    OK. Chodzi mi o wykorzystanie wszystkich kanałów do generowania dźwięku. AUDF1 i 2 na syntetyki, 3 i 4 na sample - da się? Zapisujesz AUDC4?
    • 48: CommentAuthorxxl
    • CommentTime9 Jun 2014
     
    interesujace... przenioslem inicjowanie AUDC4 z modulu SIO I/O do funkcji xBIOS_SET_DEFAULT_DEVICE. teraz AUDC4 jest zapisywany tylko raz - wartoscia #$10 (jesli chcemy korzystac z modulu SIO).
    no i musze powiedziec ze dziala ... hmm, musze to jeszcze potestowac ale wyglada dobrze :-) dzieki za ciekawy pomysl.
    • 49: CommentAuthorxxl
    • CommentTime25 Jun 2014
     
    to jest TO:

    ->link<-
    • 50:
       
      CommentAuthorKaz
    • CommentTime25 Jun 2014
     
    xxl - a mozna prosic tez o mp3?