[#1] HAM6 na AGA kontynuacja
Programik ma docelowo wyświetlać obrazek HAM6 na AGA z paletą 8-bit, na razie dołączony listing ma wyświetlać 16-kolorowy obrazek na AGA też z paletą 8-bit i już tu mam problem (nie jestem programistą). Gdy wyświetlam obrazek z paletą 4-bit jest ok, ale gdy chcę "polepszyć" paletę to kicha. Co trzeba włączyć? Inaczej jeszcze mówiąc np. kolor $ffffff chcę przełączyć na $0f0f0f.


start bsr initcols
bsr initscreen
move.l #copper,$dff080
.loop btst #6,$bfe001 ;czekanie na lewy przycisk myszy
bne .loop
rts

;wpisuje kolory do copperlisty
initcols lea colors,a0
;gdy palette_hi+4 to mamy obrazek w OCS
lea palette_lo+4,a1
move.l #15,d0 ;16 kolorów
.loop move.w (a0)+,2(a1)
add.l #4,a1
dbf d0,.loop
rts

;wpisuje adresy bitplanów do copperlisty
initscreen lea planes,a0
move.l #screen,d1
move.l #5,d0 ;6 bitplanów (ostatnie 2 puste)
.loop move.w d1,6(a0)
swap d1
move.w d1,2(a0)
swap d1
add.l #40*256,d1
add.l #8,a0
dbf d0,.loop
rts

SECTION dane,DATA_C
copper: dc.l $01fc0000 ;fmode=0
dc.l $008e2c81,$00902cc1 ;okno wyswietlania
dc.l $00920038,$009400d0 ;pobieranie
dc.l $00960020 ;DMA
dc.l $01020000,$01040000 ;kasujemy BPLCON1/2
dc.l $01080000,$010a0000 ;modulo 0
palette_hi:
dc.l $01060000 ;loct=0
dc.l $01800000,$01820000,$01840000,$01860000
dc.l $01880000,$018a0000,$018c0000,$018e0000
dc.l $01900000,$01920000,$01940000,$01960000
dc.l $01980000,$019a0000,$019c0000,$019e0000
palette_lo:
dc.l $01060200 ;loct=1
dc.l $01800000,$01820000,$01840000,$01860000
dc.l $01880000,$018a0000,$018c0000,$018e0000
dc.l $01900000,$01920000,$01940000,$01960000
dc.l $01980000,$019a0000,$019c0000,$019e0000
planes:
dc.l $00e00000,$00e20000,$00e40000,$00e60000
dc.l $00e80000,$00ea0000,$00ec0000,$00ee0000
dc.l $00f00000,$00f20000,$00f40000,$00f60000
dc.l $01004000 ;BPLCON0
dc.l $fffffffe
;palete w odcieniach szarości
colors: dc.w $000,$111,$222,$333,$444,$555,$666,$777,$888,$999,$aaa,$bbb,$ccc,$ddd,$eee,$fff
;obrazek raw 320x256 (4 bitplany)
screen:
incbin pic.raw
dcb.b $2800,$00 ;(2 kolejne puste bitplany, później dla ham)
dcb.b $2800,$00
[#2] Re: HAM6 na AGA kontynuacja

@cholok, post #1

Już widzę, że jest coś nie tak z BPLCON0, jest tam bit ECSENA, ale jego włączenie nic nie daje. Co trzeba jeszcze włączyć?
[#3] Re: HAM6 na AGA kontynuacja

@cholok, post #2

Ciągle same se odpowiadam, ale właśnie doszłem do tego, że listing jest dobry, bo prostu obrazek był tak ciemny, że nic nie było widać, gdy do palette_hi ustawimy same $fff, to widać. Prosiłbym adminów o usunięcie poprzednich moich wątków.
Poniżej zamieszczam listing, który wyświetla 16-kolorowy obrazek w trybie HAM6; obrazek używa kolorów bazowych. Chciałbym, aby ktoś to przetestował na prawdziwej Amidze (AGA). Wystarczy sciągnąć AsmPRO z aminetu, wgrać ten listing i uruchomić. Co ważne, Asm musi być uruchomiony w trybie PAL (ten programik nie przełącza wyświetlania). Obrazek ma być 320x200 w 16 odcieniach szarości od czarnego do białego. Potem należy wgrać go do programu iff2raw (w archiwum z Asmem) i nagrać go pic.raw.
Na uae obrazek został wyświetlony, czyli na AGA w trybie HAM6 można używać palety 8-bitowej, na co oprogramowanie nie pozwala. Żadna strata, ale mnie to ciekawi. W przypadku negatywnym obrazek ma być cały biały. No i jakby jakiś błąd ktoś zauważył...

start bsr initscreen
move.l #copper,$dff080
.loop btst #6,$bfe001
bne .loop
rts

initscreen
lea planes,a0
move.l #screen,d1
move.l #5,d0
.loop move.w d1,6(a0)
swap d1
move.w d1,2(a0)
swap d1
add.l #40*256,d1
add.l #8,a0
dbf d0,.loop
rts

SECTION dane,DATA_C
copper: dc.l $01fc0000 ;fmode
dc.l $008e2c81,$00902cc1 ;okno wyswietlania
dc.l $00920038,$009400d0 ;pobieranie
dc.l $00960020 ;DMA
dc.l $01020000,$01040000 ;kasujemy BPLCON1/2
dc.l $01080000,$010a0000 ;modulo 0
palette:
dc.l $01060000
dc.l $01800fff,$01820fff,$01840fff,$01860fff
dc.l $01880fff,$018a0fff,$018c0fff,$018e0fff
dc.l $01900fff,$01920fff,$01940fff,$01960fff
dc.l $01980fff,$019a0fff,$019c0fff,$019e0fff
dc.l $01060200
dc.l $01800000,$01820111,$01840222,$01860333
dc.l $01880444,$018a0555,$018c0666,$018e0777
dc.l $01900888,$01920999,$01940aaa,$01960bbb
dc.l $01980ccc,$019a0ddd,$019c0eee,$019e0fff

planes: dc.l $00e00000,$00e20000,$00e40000,$00e60000
dc.l $00e80000,$00ea0000,$00ec0000,$00ee0000
dc.l $00f00000,$00f20000,$00f40000,$00f60000
dc.l $01006800 ;6 planes+ham
dc.l $fffffffe

screen: incbin pic.raw ;obrazek 320x256-16 kolorów
dcb.b $2800,$00
dcb.b $2800,$00



Ostatnia modyfikacja: 16.07.06 21:14
[#4] Re: HAM6 na AGA kontynuacja

@cholok, post #3

Widzisz, problem jest w tym, że małokto używa jeszcze AGĘ, a w PALU to
już wogóle garstka... Więc niestety będziesz sobie sam odpowiadał, bo
prawie nikt się tym nie zajmuje, bo i po co?

[#5] Re: HAM6 na AGA kontynuacja

@Kaczus, post #4

Nie wspominając o tym, że nikt się już nie zajmuje programowaniem AGA po rejestrach w asemblerze. Takie kody to ja pisałem w 1995 roku... I nic już nie pamiętam.
[#6] Re: HAM6 na AGA kontynuacja

@Kaczus, post #4

Dwóch ochotników było wczoraj, więc ktoś ma. A po co? Po nic, dla czystej ciekawości. A inaczej nie da się sprawdzić.
Chciałeś chyba powiedzieć, że nikomu nie będzie się chciało, w to uwierzę.



Ostatnia modyfikacja: 16.07.06 21:44
[#7] Re: HAM6 na AGA kontynuacja

@cholok, post #6

Jak miałem Amigę to od 96 roku nie używałem trybów PAL, a od 99 obrazu
z AGA, teraz moja Amiga (jeśli tak mogę to nazwać) nie ma układu
AGA...

[#8] Re: HAM6 na AGA kontynuacja

@Kaczus, post #7

No, ale po mi to mówisz. Na pewno wiele ludzi ma, nie muszą używać. Może ktoś ma multisynca, albo scandubler. To nie ważne. Zawsze ktoś ma, reszta tylko dobre chęci.
[#9] Re: HAM6 na AGA kontynuacja

@cholok, post #8

Po prostu napisalem, bys nie zdziwil sie czekajac w nieskonczonosc...
Że to nie przez zla wole, ale np przez inne rzeczy.

[#10] Re: HAM6 na AGA kontynuacja

@Kaczus, post #9

No, być może. Czytając wiele wątków widziałem, że wielu ludzi ma AGA, niekoniecznie jej używając. Problemem może być tylko ten PAL, no ale nie umiem przełączyć na VGA poprzez hardware. Jednak myślę, że to raczej będzie "zła wola". Niemniej test ten nie jest tak istotny, by z tego powodu płakać. Poza tym mieszasz i zniechęcasz innych.
[#11] Re: HAM6 na AGA kontynuacja

@cholok, post #3

Niczego nie obiecuję. Ja znajdę trochę wolnego czasu to postaram się wklepać ten kod. Dawno juz nie odaplałem AsmPro. Co do błędów to nie wiem czy uda mi się coś wychwycić. Wiele rzeczy już pozapominałem.
Możesz mi zaoszczędzić chwilę klepaniny i podrzucić mi kod na maila?

[#12] Re: HAM6 na AGA kontynuacja

@Prince, post #11

No jakaś dobra się znalazła. Już wysyłam.
[#13] Re: HAM6 na AGA kontynuacja

@cholok, post #6

Wiesz, ja leniwy jestem. Skmpiluj mi ten program i wyslij majlem ;)
[#14] Re: HAM6 na AGA kontynuacja

@Andrzej Drozd, post #13

Gdyby to był program to ok, ale to jest procedurka i bezpiecznie uruchamia się z poziomu Asma, bo Asm zadba o bezpieczne przywrócenie ustawień coppera i DMA. Ale wyślę Ci programik i źródła. Programik uruchamia się z poziomu CLI, po którym może i raczej na pewno nastąpi zwis, aczkolwiek obrazek się wyświetli.
[#15] Re: HAM6 na AGA kontynuacja

@cholok, post #12

Wyświetla się. Bardzo ciemny ten obraz, ale jest.

(A1200)

[#16] Re: HAM6 na AGA kontynuacja

@Prince, post #15

Ciemny? Powinien być jasny.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem