2,651

(67 odpowiedzi, napisanych Bałagan)

epi napisał/a:

konieczność ciągłego klikania pomiędzy tabami wstążki

próbowałeś "Quick Access Toolbar"?
Redukuje on potrzebę zbędnego klikania do minimum

2,652

(67 odpowiedzi, napisanych Bałagan)

Skrzyp, mój błąd, otóż nie chodziło mi o wstążkę  :)
Miałem na myśli konfigurowalne menu nad nią - "Quick Access Toolbar":

http://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=2428
Dla mnie jest on super, dzięki niemu mogę schować zwykły zajmujący sporo miejsca toolbar/wstążkę.

W LibreOffice również można konfigurować toolbar ale tylko główny, MS dał opcję wyboru - główny toolbar bez modyfikacji plus własny "Quick Access Toolbar".


Swoją drogą, mam wrażenie że LO 4.4.2.2 jest bardziej przyjazny niż 4.3.6. Trzeba się przyjrzeć co poprawili.

2,653

(67 odpowiedzi, napisanych Bałagan)

skrzyp napisał/a:

No ja bym wstążki w LO nie chciał...

czym to jest spowodowane?

2,654

(17 odpowiedzi, napisanych Sprzęt - 16/32bit)

taki mam zasilacz
http://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=2427

też 64.6 W

2,655

(67 odpowiedzi, napisanych Bałagan)

erOS napisał/a:

Co do cofania się do roku 2003  - powiedział użytkownik Atari wink

dla tego pewnie nie skreślam LibreOffice :)

erOS napisał/a:

Mi tam pasuje właśnie ten oldskulowy styl a nie współczesne wstążki-srążki.

Co do wstążki to dla mnie jest naprawdę dobre rozwiązanie. Wrzuciłem do niej najpotrzebniejsze narzędzia.
Dzięki temu mogłem schować pasek narzędzi i uwolnić kawałek przestrzeni roboczej

2,656

(67 odpowiedzi, napisanych Bałagan)

Dzięki Draco za info, przymierzałem się właśnie do upgrade.

skrzyp napisał/a:

Jest werja 4.4.2 dla Windows, którą w tym momencie pobrałem i działa.

Automatyczny LibreOffice upgrade pokazuje 4.3.6

skrzyp napisał/a:

JZawsze lepsze to, niż MS Office, w dowolnej wersji.

Jedyny duży plus jaki widzę to łamanie monopolu MS.
Jeśli chodzi o 4.3.3.2 użyteczność oraz interfrejs Calc i Base to niestety czuję się jak bym się cofnął do 2003 roku.

2,657

(10 odpowiedzi, napisanych Sprzęt - 16/32bit)

git,
ja testuję EmuTOS pod Winuae

2,658

(226 odpowiedzi, napisanych Bałagan)

Skrzyp, pewnie masz rację. Amigę widziałem ostatni raz w '92, więc mogę się mylić.
No ale z tego co pamiętam to np. Vampire 600/500, PAK 68/3 jaki i właśnie Furia 600 montuje się na CPU.

2,659

(226 odpowiedzi, napisanych Bałagan)

ZbyniuR napisał/a:

A czy ST ma w sobie port rozszerzeń w tym stylu co Amigi czy jedynie port na kości pamięci Ram oraz ROM w kartridżu?

w amidze rozszerzenia CPU montuje się tak samo jak w Atari - nakładając na CPU, więc tu nie powinno być problemu.
Z tego co pamiętam to problemem może być typ podstawki, kwadrat (STE/A600) vs prostokąt (STfm/A500), oraz to że procesor w amidze jest  wykastrowany z istotnych sygnałów (np A600 z E-clock i jeśli się nie mylę to z sygnałów FC0-2).

2,660

(31 odpowiedzi, napisanych Programowanie - 16/32bit)

Tomasz Wachowiak napisał/a:

W najbardziej krytycznej czasowo części kodu dużo miejsca na optymalizację już nie było, a zawsze będzie 3 linie mniej :)

ok, na dzień dzisiejszy mamy 10 linii mniej dla tej figury (lewa strona BT4PC_C, prawa kod zoptymalizowany):
http://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=2419

Figura ta wykorzystuje wyłącznie "multi_words", więc nie wiem jak optymalizacja wygląda w przypadku krótkich wektorów.

Widzę jeszcze miejsce na optymalizację, np. aktualnie generowanie nowej tablicy leftEdge/rightEdge/leftMask/rightMask wymaga inicjalizacji dla każdego wielokąta osobno. gdyż odbywa się ono pomiędzy "compute_triangle_dx" a "fill_triangle".

Można by spróbować wykonać tylko jedną inicjalizację dla wszystkich wielokątów. Czyli wykonać "compute_triangle_dx" dla wszystkich wielokątów, potem tylko jedna inicjalizacja BLiTTERa, a następnie dla każdego wielokąta generowanie nowej tablicy leftEdge/rightEdge/leftMask/rightMask. No i na koniec "fill_triangle" dla każdego wielokąta.

2,661

(17 odpowiedzi, napisanych Sprzęt - 16/32bit)

A jak sprawdzić ile watów ma zasilacz w TT?

2,662

(452 odpowiedzi, napisanych Zloty)

grey/msb napisał/a:

Who knows...

Słusznie!

2,663

(47 odpowiedzi, napisanych Scena - 8bit)

xxl napisał/a:

Ten nowy sprzet to prawdziwy amiga killer.

czemu używasz brzydkich słów na "am" ? :P



Pin napisał/a:

Nie istnieje coś takiego jak XEX. Jest to aplikacja pod Spartę X która łyka dowolną bitmapę 256/256/256 i nią kręci. O, czyli zapomniałem, że Sparta też jest tu potrzebna :P

brzmi spoko, zapodaj jakąś binarkę :)

2,664

(12 odpowiedzi, napisanych Bałagan)

Duddie napisał/a:

A monitor SC1435 mogę Ci naprawić.

dał byś radę rzucić okiem na mój SC1435?

2,665

(47 odpowiedzi, napisanych Scena - 8bit)

Pinex, ja też poproszę. zapodaj jakiegoś xexa

2,666

(14 odpowiedzi, napisanych Bałagan)

ok, zgłaszam zaległy iwenty
"Zeszło-Zeszłotygodniowe łikendowe piwko"
Miejsce: u mnie
Organizatorzy: Cyprian i Ja
Termin: zeszły zeszły łikend
Cena piwka: <zakładana cena>
https://lh4.googleusercontent.com/-ufvpcQ9NumE/VR8On8DhdII/AAAAAAAAIOA/LMXPN86qXiA/w843-h632-no/IMG_20150205_070724.jpg

Jedynie Irish Beer i Black Beer Stout warte uwagi.


Nowy termin:
"Zeszłotygodniowe łikendowe piwko"
Miejsce: u mnie
Organizatorzy: Cyprian i Ja

Termin: zeszły łikend
Cena piwka: <zakładana cena>
https://lh6.googleusercontent.com/-zftnaKjchXo/VR8Omg60TkI/AAAAAAAAIN0/a9viFCwschk/w843-h632-no/IMG_20150205_070403.jpg

Wszystkie cacy


Nowy termin:
"Dziś bania"
Miejsce: u mnie
Organizatorzy: Cyprian i Ja
Termin: dziś a w zasadzie to już trwa :)
Cena piwka: <zakładana cena>
https://lh4.googleusercontent.com/-3FRYpDdMWKk/VSqPpq1DC6I/AAAAAAAAIfU/agubGI9VeRw/w843-h632-no/IMG_20150412_173026.jpg

Na razie git

2,667

(14 odpowiedzi, napisanych Bałagan)

szach mat :)

2,668

(31 odpowiedzi, napisanych Programowanie - 16/32bit)

mały OT. Tutaj nowość od konkurencji :)
https://youtu.be/ZQ3-nnoXGng?t=49
Sprawdziłem w debuggerze winuae no i jeden obiekt generowany jest w cztery ramki

2,669

(31 odpowiedzi, napisanych Programowanie - 16/32bit)

Wczoraj w nocy udało mi się dodać optymalizację w której BLiTTER generuje nową tablicę leftEdge address/rightEdge address/leftMask/rightMask. Skraca ona czas całości o trzy linie skaningowe. Nie jest to powalający wynik, ale nowy kod daje miejsce na dalsze optymalizacje.

.poly_fill_line wygląda teraz tak:

.poly_fill_line:
    movem.w  (A0)+,D0-D3        ; D0 - left; D1 - right; D2 - left mask; D3 - right mask
    movea.l  a5,a4
    lea      logLine(a5),a5     ;next y offset line
    lea      (a4,d0.w),a4       ;add line x offset
    sub.w     d0,d1              ;line width
    
    asr.w    #3,D1
    bgt.s    .multi_words

Kod jest brudny, wieczorem siądę by go oczyścić i jutro wrzucę go na forum.

2,670

(31 odpowiedzi, napisanych Programowanie - 16/32bit)

Super, widzę że sprawy idą w słusznym kierunku. Wprowadziłeś kawał niezłego kodu, jutro siadam do studiowania :)

Ja niestety dopiero dzisiaj miałem okazję znowu siąść do kodu.
Bazuję teraz na ostatnim BT4PC_C. Dodałem nową procedurę BLiTTERa - inicjalizacja i generowanie nowej tablicy leftEdge/rightEdge/leftMask/rightMask oraz nową wersję poly_fill_line bazującą na tej tablicy. Pierwszy etap - generowani tablicy działa poprawnie, niestety drugi - poly_fill_line już nie. Dziś już nie dam rady, ale może jutro wieczorem uda mi się siąść do debuggera i przejść przez poly_fill_line.

Co do clippingu to czy on zawsze jest on potrzebny? Np. dla glenz nie wychodzącego poza ramki ekranu?

2,671

(50 odpowiedzi, napisanych Programowanie - 16/32bit)

Naprawdę słuszna koncepcja :)

jeśli chodzi o moją część to, mam działający kod ale niestety nie miałem jeszcze czasu zintegrować go z trianglefi. Muszę jeszcze raz przemyśleć użycie rejestrów gdyż w trianglefi większośc jest wykorzystana.

2,672

(50 odpowiedzi, napisanych Programowanie - 16/32bit)

Te dwa słowa na linię w przypadku 16 punktowych linii wynikało z tego że rejestry Halftone inicjowałem tylko jeden raz, ale za to wartościami dla wszystkich kolorów.

By wypełnić cztery bitplany w jednym strzale (z uwzględnieniem Mask1/Mask3) musiałem dać ujemne dstYinc, co powoduje że Halftone są dekrementowane. Działa to dobrze w "multi_words" ale nie w wariancie z tylko jednym słowem (<=16 punktów) na bitplan. Tak więc dla linii 16 punktowej musiałem zwiększyć szerokość linii do dwóch słów by móc zastosować ujemne dstYinc.

Widzę że w 5_C inicjujesz Halftone częściej, ale za to tylko jednym kolorem. To daje możliwośc poprawienia 16 punktowych linii.

2,673

(50 odpowiedzi, napisanych Programowanie - 16/32bit)

Niestety dopiero wieczorem będę miał więcej czasu, siądę do Twojego ostatniego kodu i zrobię parę testów.

Jeśli chodzi o wybraną ilość planów to jasne, zapodawaj :)
Jakby co to też mam kod, tylko jeszcze go nie publikowałem. W sumie są to kosmetyczne zmiany do aktualnej procedury blittera.

2,674

(50 odpowiedzi, napisanych Programowanie - 16/32bit)

Tomasz Wachowiak napisał/a:

Hmm... 2? A nie 4? A co z danymi do wypełniania zawartymi w halftonach?

cykl szyny (z punktu widzenia CPU/BLiTTERa) czyli 4 cykle CPU :)
17 cykli szyny na załadowanie danych z pamięci do D0-D7 i drugie 17 na przesłanie z D0-D7 do Halftone

Potem generowanie leftMask/rightMask na podstawie Halftone i leftEdge/rightEdge - 2 cykle szyny (Jeden odczyt i Jeden zapis) - 8 cykli procesora na jedną maskę


Tomasz Wachowiak napisał/a:

Tylko pamiętaj, że na lsrze stracisz. Ja poszedłem w drugą stronę i zrobiłem oddzielne tablice dla prawej i lewej strony, dzięki czemu zamieniłem lsra na dwa addy. No i sam movem sporo zabiera.

Chodziło mi o to by BLiTTER na podstawie leftEdge/rightEdge wygenerował tablicę leftMask/rightMask,
oraz by uniknąć lsl/addów BLiTTER dokonał na leftEdge/rightEdge operacji - AND $FFF0 i rotacji o 3 bity w prawo.


Najprościej będzie jak w wolnej chwili siądę do assemblera i sprawdzę czy to działa.
A tutaj napisany z palca, tak na szybko, szkic kodu fill_triangle_line_loop:

fill_triangle_line_loop
    movem.w    (A0)+,D0-D3          ; D0 - left; D1 - right
                                    ; D2 - left mask; D3 - right mask

    move.l    D6,A4                 ; current line address
    add.l    #160,D6                ; next line address
    lea        (A4,D0.w),a4         ; add line x offset


    sub.w    D0,D1                  ; line width

    asr.w    #1,D1                  ; words number
    bgt.s    .multi_words

    and.w    D2,D3
    move.w    D3,endmsk1(a6)        ;only mask
...

2,675

(50 odpowiedzi, napisanych Programowanie - 16/32bit)

No ciekawe. Chodzi o usprawnienie compute_triangle_dx?

Jakby co to mam ideę na zmianę w fill_triangle_line_loop. BLiTTER, na podstawie leftEdge/rightEdge może wygenerować left mask/right mask. Koszt to 34 cykle szyny na inicjalizację rejestrów Halftone a potem tylko 2 cykle szyny na maskę.
A jeszcze jakby udało się przeorganizować tablice leftEdge/rightEdge na taką:

REPT rezY
 ds.w leftEdge, rightEdge, leftMask, right Mask. 
ENDR

to w fill_triangle_line_loop można by jednym zgrabnym "movem.w    (A0)+,D0-D3" ładować od razu wszystkie potrzebne dane.