1 Ostatnio edytowany przez pancio.net (2021-05-02 16:19:47)

Rozpykałem ostatnio taki wyświetlacz OLED, który potrafi wyświetlać w 16-tu odcieniach bursztynka :-) Czy ktoś może posiada, wie jak i wie gdzie znajdę przykładowe graficzki, które dałoby się wykorzystać? A może w łatwy sposób da się zaadoptować np bitmapy tak by były reprezentowanie w postaci 4 bitów/pixel? Słaby ze mnie programista, więc może ktoś coś podpowie? CZey tryb Atari gr .9 nie jest czasem właśnie takim trybem, że 4 bity reprezentują odcień piksela?

PunBB bbcode oled1

PunBB bbcode oled2

EDIT,

Chyba nie zauważyłem, że poszło do 16/32bit.. proszę admina o przeniesienie tematu do 8 bit. Sorki

Post's attachments

oled1.jpg 154.62 kb, nikt jeszcze nie pobierał tego pliku. 

oled2.jpg 165.51 kb, liczba pobrań: 1 (od 2021-05-02) 

Tylko zalogowani mogą pobierać załączniki.
https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

2 Ostatnio edytowany przez mono (2021-05-02 17:50:55)

Tak jest! GR.9 potrafi w 16 odcieniach. Piksel ma proporcje 4x1. Jaką tam masz rozdzielczość?

Edit: Hmmm 512x128. Może jakieś amstradowe graficzki?

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

3

Grafiki z PoFo powinny pójść, grafiki z Nokii  - ale te w sumie i tu i tu jednokolorowe...Fajny patent.

Sikor umarł...

4

fajne cacko, jak podłączyłeś ten LCD?

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

5

@pancio Wszystko co potrzebne znajdziesz w pakiecie Graph2Font, pozdrawiam.

6

@mono, wyświetlacz ma rozdziałkę 256x64, 4 bity/pixel czyli linia jest reprezentowana przez 128 bajtów. Zaadresowanie całego wyświetlacza wymaga 8k pamięci. Tu jest łatwiej go oprogramować, bo organizacja pamięci jest taka sama jak w Atari, więc nie będzie problemów z generowaniem tekstów itp.

@Sikor, a możesz mi zarzucić 1-2 pliczki?

@Cobol, obadam ale nie wiem czy potrafię to obsłużyć :-)

@Cyprian, wyświetlacz podłączyłem wykorzystując VIAtari:
http://www.atari.org.pl/forum/viewtopic.php?id=16098
natomiast nic nie stoi na przeszkodzie by wpiąć go bezpośrednio w magistralę procka - oczywiście z dekoderem adresów.

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

7

Pewnie

pancio.net napisał/a:

@Sikor, a możesz mi zarzucić 1-2 pliczki?

Pewnie ;) PoFo ma 240x64, więc blisko (ale jeden bit), nokia 72x28px
Tu masz opis co i jak w tych programach, co są na dyskietkach (z Nokia OTA Viewera możesz korzystać jako konwerter w sumie):
http://atariki.krap.pl/index.php/Nokia_%2A.OTA_viewer
http://atariki.krap.pl/index.php/PGF_PoFo_Viewer
Smacznego.
Btw: jak testy pójdą ok podziel się tajemną wiedzą jak to podłączyć ;)

Post's attachments

PGC pictures (s1).atr 179.64 kb, liczba pobrań: 6 (od 2021-05-03) 

PGC pictures (s2).atr 179.64 kb, liczba pobrań: 3 (od 2021-05-03) 

PGC pictures (s3).atr 179.64 kb, liczba pobrań: 3 (od 2021-05-03) 

PGC PoFo Viewer.atr 179.64 kb, liczba pobrań: 4 (od 2021-05-03) 

PGF PoFo Viewer 1.0.atr 179.64 kb, liczba pobrań: 4 (od 2021-05-03) 

Tylko zalogowani mogą pobierać załączniki.
Sikor umarł...

8 Ostatnio edytowany przez bocianu (2021-05-03 23:53:20)

Łatwo skonwertujesz sobie dowolne grafiki (png/jpg/gif/bmp/etc.) do potrzebnego formatu używając darmowego imagemagick.
Podpowiadam składnię:

convert obrazek_wejsciowy.png -resize 256x64 -depth 4 -colorspace gray obrazek_wyjsciowy.gray

Oczywiście skalowanie jest opcjonalne, możesz je sobie zrobić w innym programie, a tutaj tylko dopasować głębie bitową.

Ważne, żebyś nie zmieniał rozszerzenia pliku wyjściowego, bo po nim convert rozpoznaje w jakim formacie ma zapisać dane. Rozszerzenie *.gray spowoduje, że dostaniesz gołe dane graficzne, bez żadnego nagłówka i kompresji, czyli to czego potrzebujesz ;)

9

ooo,  dobrze wiedzieć

Sikor umarł...

10

Dzięki bocianu za hinta... używałem tego softu wielokrotnie ale nie wiedziałem, że operuje on również na plikach bez nagłówków :-) Świetna rzecz...


PunBB bbcode pacmad3

PunBB bbcode pacmad1

PunBB bbcode pacmad1

Post's attachments

pacmad2.jpg 120.2 kb, nikt jeszcze nie pobierał tego pliku. 

pacmad3.jpg 145.96 kb, nikt jeszcze nie pobierał tego pliku. 

pacmad4.jpg 195.09 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

11

Sikor napisał/a:

Pewnie

pancio.net napisał/a:

@Sikor, a możesz mi zarzucić 1-2 pliczki?

Pewnie ;) PoFo ma 240x64, więc blisko (ale jeden bit), nokia 72x28px
Tu masz opis co i jak w tych programach, co są na dyskietkach (z Nokia OTA Viewera możesz korzystać jako konwerter w sumie):
http://atariki.krap.pl/index.php/Nokia_%2A.OTA_viewer
http://atariki.krap.pl/index.php/PGF_PoFo_Viewer
Smacznego.
Btw: jak testy pójdą ok podziel się tajemną wiedzą jak to podłączyć ;)

Dzięki za sofcik... przyda się!

A co do podłączenia to żadna tajemna wiedza... jeden port 6522 służy do przesyłania komend i danych a 5 bitów drugiego portu służy do sterowania liniami /RD, /WR, /RESET, /CS i /CD. Zasadniczo sterowanie wyświetlaczem prawie nie różni się od poprzedniego projektu (poza organizacją pamięci) - stąd wymagana przeróbka softu. Wszystkie potrzebne info/soft znajdziesz w wątku albo na mojej stronie ze stopki. Niestety produkcja biblioteki graficznej w ASM jest pieruńsko skomplikowana więc rysowanie kółek czy innych takich troszki potrwa...

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

12

Kontynuując wątek programistyczny....

; ---------------------------------------------
; pic2frame  - copy picture data to frame 
;   (src) - source address
;   (dst) - memory destination address
;
;

pic2frame:      
                ldy #$00
                ldx #$00
p2floop1:
                lda (src),y
                sta (dst),y
                ldx dst
                cmp src
                bne p2floop2
                ldx dst+1
                cmp src+1
                beq p2ffinish
p2floop2:
                inc src
                bne p2floop1
                inc src+1
                jmp p2floop1

p2ffinish       rts

Procedurka ma służyć do kopiowania obrazka do bufora, który następnie zostanie przesłany do wyświetlacza... niestety jej wykonanie powoduje, że system idzie w maliny... gdzie jest błąd? Zmienne na stronie zerowej zaczynam od $a0 - mam nadzieję, że nie konfliktuje to z DOS II+/D v.6.4
Wiem, że ta procedura nie jest też zbyt optymalna...

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

13

to nie ma prawa działać :) powiedz co chcesz zrobić, bo jeśli tylko skopiować blok danych, to może coś takiego:

ldy #0
ldx #number_pages
loop
lda (src),y
sta (dst),y
iny
bne loop
inc src+1
inc dst+1
dex
bne loop
rts

14

Zasadniczo chodziło mi o szybkie przepisanie obrazka z jednego obszaru do drugiego, gdzie umownie jest ramka wysyłana do wyświetlacza. Oczywiście przepisywanie całego obrazka nie ma sensu bo można go wysłać od razu do OLED-a ale.. jakbym chciał sobie cosik na nim jesczze narysować lub napisać to fajnie jest robić to w buforze.. przed wysłaniem. Stąd też mam dwa zdefiniowane obszary z ich adresami zapisanymi na stronie zerowej:

       lda #<PACMAD1
        sta src
        lda #>PACMAD1
        sta src+1
 ;       
        lda #<SCREEN
        sta dst
        lda #>SCREEN
        sta dst+1 

Wykorzystując Twój kod:

pic2frame:  
                ldy #$00
                ldx #$20
p2floop1:
                lda (src),y
                sta (dst),y

                jsr lcd_write_data

                iny
                bne p2floop1
                inc src+1
                inc dst+1
                dex
                bne p2floop1
                rts

dorzuciłem jeszcze skok do procedury wysyłającej dane od razu do wyświetlacza... jednak coś nie bangla...

;lcd_write_data
;   A - data to send

lcd_write_data: 
            sta OLED_DATAPORT               ; set command
            pha
            
            lda #$ff
            and #OLED_CS_N
            sta OLED_CTRLPORT               ; set chip  enabled
            
            and #OLED_WR_N
            sta OLED_CTRLPORT               ; send data

            ora #OLED_WR
            sta OLED_CTRLPORT               
            ora #OLED_CS
            sta OLED_CTRLPORT

            pla
            rts

Jak widać procka modyfikuje tylko akumulator (zresztą zachowuję go na wszelki wypadek)

I jeszcze jak to robiłem by działało:

            ldx #$00

pac0    lda PACMAD1,x
            jsr lcd_write_data
            inx
            cpx #$00
            bne pac0
        
pac2    lda PACMAD1+$0100,x
            jsr lcd_write_data
            inx
            cpx #$00
            bne pac2
        
...
...

pac60   lda PACMAD1+$1e00,x
            jsr lcd_write_data
            inx
            cpx #$00
            bne pac60

Wysyłając dane w ten sposób wszystko bangla prawidłowo...

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

15

ldx #$1F
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

16

racja.. o jedną iterację za daleko... już poprawiam.. tylko czy to ma wpływ na działanie?... zarz się okaże :-) Dzięki @mono

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

17

Może wklej cały kod oraz jakieś API tego wyświetlacza.

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

18 Ostatnio edytowany przez pancio.net (2021-05-05 11:15:17)

Nie ma najmniejszego problemu.. choć trochę mi wstyd bom nie nawykły, znaczy nie pisałem już latami i odkrywam świat assemblera na nowo....
zaraz zrobię paczuszkę...

EDIT.
Posprzątałem trochę w kodzie i procka zaczęła działać. Okazało się, że w międzyczasie nie wyłączyłem jednego z efektów, który się nie kończył rts-em i system się wywalał... teraz wszystko bangla jak ta lala... Dzięki chłopaki za pomoc w rozkmince. teraz pozostało najtrudniejsze... jakieś proce graficzne... :-) coby operować na poszczególnych fragmentach obrazu (można adresować pamięć GDRAM bez buforowania w Atari)

A jak ktoś jest zainteresowany rozwojem, to dysponuję kilkoma PCB do VIAtari :-)

https://youtu.be/AZ7IztwN84g

https://youtu.be/rjecPePOgUM

Post's attachments

VIAlib2.zip 30.48 kb, liczba pobrań: 3 (od 2021-05-04) 

Tylko zalogowani mogą pobierać załączniki.
https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

19

pancio.net: a może jakiś konkursik na pracki? :) sam chętnie bym coś maznął

20

Wątek podzielony. Informacje o konkursie tu.

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.