Scroll na fontach w multicolorze
Scroll na fontach w multicolorze
Witam.
Mam pytanie dotyczące tego w jaki sposób robione są scrolle z wykorzystaniem fontów rysowanych w multicolorze ale w pełnych 16 kolorach i o wielkości większej niż typowe 2x2 czy 3x3 (np. malowane w formacie koala)
Na moje oko to może wyglądać następująco: wszystkie fonty są malowane na pojedynczym ekranie multi 160x200. Następnie koder zaznacza dany obszar grafiki z np. literą "a" i przyporządkowuje go w kodzie odpowiedniej wartości dla danego znaku. I tak po kolei cały alfabet. Czy np. można zamiast jednego ekranu z fontami wykorzystać dwie różne grafiki.
Czy tak to wygląda, czy może jeszcze inaczej się to robi?
Z góry dzięki za podpowiedzi.
/xpo
Mam pytanie dotyczące tego w jaki sposób robione są scrolle z wykorzystaniem fontów rysowanych w multicolorze ale w pełnych 16 kolorach i o wielkości większej niż typowe 2x2 czy 3x3 (np. malowane w formacie koala)
Na moje oko to może wyglądać następująco: wszystkie fonty są malowane na pojedynczym ekranie multi 160x200. Następnie koder zaznacza dany obszar grafiki z np. literą "a" i przyporządkowuje go w kodzie odpowiedniej wartości dla danego znaku. I tak po kolei cały alfabet. Czy np. można zamiast jednego ekranu z fontami wykorzystać dwie różne grafiki.
Czy tak to wygląda, czy może jeszcze inaczej się to robi?
Z góry dzięki za podpowiedzi.
/xpo
Re: Scroll na fontach w multicolorze
na ostatnie pytanie odpowiedź brzmi. tak
możesz se to w pamięci rozłożyć jak chcesz tak aby było ci łatwiej kopiować i scrollować. na jednym czy na dwóch czy więcej ekranach. w końcu to tylko organizacja pamięci zawierającej obrazy liter...
ale ogólnie to co piszesz to właśnie mnie więcej tak działa.
oczywiście jeśli mówimy o scrollu polegającym na kopiowaniu LDA, STA poszczególnych liter.
pewnie da się takie rzeczy robić przy użyciu Linecrunch'a
możesz se to w pamięci rozłożyć jak chcesz tak aby było ci łatwiej kopiować i scrollować. na jednym czy na dwóch czy więcej ekranach. w końcu to tylko organizacja pamięci zawierającej obrazy liter...
ale ogólnie to co piszesz to właśnie mnie więcej tak działa.
oczywiście jeśli mówimy o scrollu polegającym na kopiowaniu LDA, STA poszczególnych liter.
pewnie da się takie rzeczy robić przy użyciu Linecrunch'a
c64portal.pl, retronavigator.com
Re: Scroll na fontach w multicolorze
Dzięki Tomek za odpowiedź. Spróbuję coś podziałać w tym temacie (przynajmniej od strony graficznej)
Powodzenia na X'16
/xpo
Powodzenia na X'16
/xpo
Re: Scroll na fontach w multicolorze
Ciekawy topic Sorki, gdyż ja jestem totalny laik tzn. początkujący amator w ASM na C64 ale coś mi świecąca lampka w głowie podpowiada, że nie jest to trudne lecz trochę ci zabierze pamięci w C64, a jeśli ma to być scroll na pół ekranu to jeszcze dodatkowo zje sporo CPU i zapewne bez tzw. "ciurków" się nie obejdzie, o ile C64 z 1MHZ da rade. Zawsze tam jedną procedurę możesz sobie przygotować na przerwaniach IRQ, a inną np. po "CLI" . Przyda się też ACME i tablice, które będą zawierały informacje o początku i końcu znaku w pionie oraz ile razy "ciurki" mają powtarzać operację plus #$01 danego znaku w poziomie razy pion znaku. Wszystko zależy od tego jak będą wyglądały znaki tzn. czy wszystkie w pionie takie same oraz symetryczne z kolorami bo dodatkowo będziesz też skrolował obszar od $d800-$dbe7 oraz $0400-$07e7 (zależy w jakim położeniu na ekranie), gdzie będziesz już wyrzucał na ekran C64 znak co #$08 "ciurków", a będzie ci w tym pomagała komórka $d016, która daje efekt płynności przesuwanego scrolla bo w przeciwnym przypadku ciurki będą się zachowywać jak trzeba tzn. płynnie, gdyż będą scrollowane na obszarze bitmapy (pamięci C64) ale kolory będą jak gdyby slideshow'em. Przydatna procedura w ACME, odnośnie ciurków np. :
!set bitmap=tablica01
!do {
lda znakbyte
sta bitmap
lda znakbyte+$01
sta bitmap+$001+(wielkosc)
lda znakbyte+$02
sta bitmap+$002+(wielkosc)
lda znakbyte+$03
sta bitmap+$003+(wielkosc)
... ; i tak dalej
!set wielkosc=wielkosc+tablica03
} until wielkosc=tablica04
!set bitmap=tablica01
!do {
lda znakbyte
sta bitmap
lda znakbyte+$01
sta bitmap+$001+(wielkosc)
lda znakbyte+$02
sta bitmap+$002+(wielkosc)
lda znakbyte+$03
sta bitmap+$003+(wielkosc)
... ; i tak dalej
!set wielkosc=wielkosc+tablica03
} until wielkosc=tablica04
a.k.a. Buddha/BotX/Roman W/Oskar Morawiecki
Re: Scroll na fontach w multicolorze
Teraz już wiem czego mi zawsze brakowało w kodzie:)carrion pisze:co to są ciurki?
A tak poważniej, terminologia w kodowaniu, jest tak duża jak świat cały - szkoda że nie ma jakiegoś bardziej sztywnego standardu nazewnictwa bo coraz trudniej się połapać co "poeta miał na myśli".
Co do scrolla (przynajmniej ta nazwa jest oczywista) to może znajdź przykład w jakimś intrze lub demie, daj linka to łatwiej będzie się dogadać.
Bo pecet to zwykły banan...
Re: Scroll na fontach w multicolorze
Hmmmm. Witam was serdecznie i na początku chce zaznaczyć, że mam nadzieję iż nie naśmiewacie się ze mnie bo jak napisałem to sam zaczynam zabawę w kodowanie na C64 Ja nie wymyśliłem słowa "ciurki", tylko przeczytałem o tym, w którymś z magazynów o kodowaniu... Utworzyłem nowy temat w "programowanie & produkcje", gdzie dodałem sporo linków, toolsów, książek w j.polskim, pomocnych rzeczy, z których się uczę, z myślą, że być może zaczniemy uczyć się wspólnie razem Niestety trzeba będzie jeszcze poczekać na akceptację mojego nowego tematu przez administratora Szybko mogę wyjaśnić o co chodzi w "ciurkach" . Procesor C64 potrafi szybciej interpretować kod jeśli jest pisany "ciurkiem" bo zazwyczaj jest upraszczany poprzez pętle i podam dwa przykłady :
1. pętla :
LDX #0
this LDA #0
STA 0400,x
INX
CPX #3
BNE this
RTS
2. ten sam kod napisany "Ciurkiem" :
LDA #0
STA 0400
LDA #0
STA 0401
LDA #0
STA 0402
LDA #0
STA 0403
RTS
Wynik z tego taki, że procesorowi 6502 więcej czasu (cykli) zajmuje interpretacja kodu w postaci pętli, a te tzw. "ciurki" działają szybciej bo leci (interpretuje) kod jak gdyby "ciurkiem" w dół tzn. nie cofa się (BNE this) jak w przypadku pętli . Program wtedy działa szybciej Zazwyczaj jest to używane np. przy wektorach (realtime), które zajmują bardzo dużo mocy procesora C64 .
1. pętla :
LDX #0
this LDA #0
STA 0400,x
INX
CPX #3
BNE this
RTS
2. ten sam kod napisany "Ciurkiem" :
LDA #0
STA 0400
LDA #0
STA 0401
LDA #0
STA 0402
LDA #0
STA 0403
RTS
Wynik z tego taki, że procesorowi 6502 więcej czasu (cykli) zajmuje interpretacja kodu w postaci pętli, a te tzw. "ciurki" działają szybciej bo leci (interpretuje) kod jak gdyby "ciurkiem" w dół tzn. nie cofa się (BNE this) jak w przypadku pętli . Program wtedy działa szybciej Zazwyczaj jest to używane np. przy wektorach (realtime), które zajmują bardzo dużo mocy procesora C64 .
a.k.a. Buddha/BotX/Roman W/Oskar Morawiecki
- Sebaloz/Lepsi.De
- Posty: 3962
- Rejestracja: 14 wrz 2008, 00:02
Re: Scroll na fontach w multicolorze
albo ciurkodem
__________________________
Socjopatyczna Legia Commodore
Socjopatyczna Legia Commodore
Re: Scroll na fontach w multicolorze
wchodzę po przerwie i aż mi ciurki po plecach przeszły Fajnie!
Re: Scroll na fontach w multicolorze
Oczywiście że ciurek to fachowe POLSKIE KODERSKIE sformułowanie. Speedcode pffffff to nic nie mówi (nie tylko ciurek może być szybki) a w słowie "ciurek" jest sama esencja....
Arise - keeping your eyes wide open since 1991.
- Sebaloz/Lepsi.De
- Posty: 3962
- Rejestracja: 14 wrz 2008, 00:02
Re: Scroll na fontach w multicolorze
Bo ciurkiem nie tylko alkohol sie lał!
__________________________
Socjopatyczna Legia Commodore
Socjopatyczna Legia Commodore
Re: Scroll na fontach w multicolorze
Fajnie by było coś napisać o samym kodowaniu, zamiast się zastanawiać nad różnicą " Ciurek vs Speedcode " ... Autor posta pewnie już ma niezły mętlik w głowie ale taka ta nasza scena komputerowa
a.k.a. Buddha/BotX/Roman W/Oskar Morawiecki