Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.  (Przeczytany 3473 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Cześć. Jest tu ktoś kto zaimplementuje mi polski font z dużymi i małymi literami do programu za pieniążka? Tak przejrzyście abym wiedział następnym razem co i jak. Font musiałby też stworzyć, na bazie najlepiej jakiegoś podstawowego ściągniętego stąd: https://home-2002.code-cop.org/c64/font_02.html lub żeby mi go wyeksportował do obrazka, żebym potem mógł sam sobie go zmieniać, a miał gotowy przykład (czyli, że wchodzę do programu i rysuje sobie font, robie z niego DATA i wklejam na miejsce poprzedniego). Proszę podaj cenę.
Przepraszam jeżeli napisałem nie tutaj gdzie trzeba!
« Ostatnia zmiana: 02 Kwietnia 2024, 05:24 wysłana przez Perun »



Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #1 dnia: 02 Kwietnia 2024, 08:08 »
Font już stworzylem, także tworzenie odpada. Cała reszta jak wyżej.

Offline Raf

  • Master of disaster
  • Administrator
  • Level 7
  • **********
  • Wiadomości: 7331
  • Wolność, własność, sprawiedliwość
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #2 dnia: 02 Kwietnia 2024, 15:47 »
lub żeby mi go wyeksportował do obrazka, żebym potem mógł sam sobie go zmieniać, a miał gotowy przykład (czyli, że wchodzę do programu i rysuje sobie font, robie z niego DATA i wklejam na miejsce poprzedniego). Proszę podaj cenę.
ale o co chodzi w ogole? sa programy, z polskimi znakami, wystarczy taki font zrzucic no i sa edytory np na pc takie jak cunei form...
"Cokolwiek powiesz albo napiszesz, znajdzie się ktoś, kto słyszy lub czyta coś zupełnie innego i jeszcze bezczelnie wmawia Ci to"

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #3 dnia: 02 Kwietnia 2024, 20:58 »
Napisałem sobie grę i chciałbym mieć w niej polskie znaki. Zrobiłem czcionkę i niby działa jako tako jak osobny program ale nie potrafię jej zaimplementować do gry. Jestem słaby z basica.

Offline Mikra_Lbn

  • Level 3
  • ***
  • Wiadomości: 220
    • http://www.lubus.info
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #4 dnia: 02 Kwietnia 2024, 22:01 »
W pierwszej kolejności musisz wybrać miejsce w pamięci, gdzie polskie znaki zamieścisz. Jeśli obszar $COOO-$CFFF (49152-53247) jest nieużywany przez grę, to może być dobre miejsce na znaki (zajmujące standardowo 2kB) i pamięć ekranu (1kB).
Wtedy trzeba się pobawić komórkami pamięci:
  • $DD00 (56576) - wybór banku pamięci VIC od 0 do 3,
  • $D018 (53272) - wybór miejsca na znaki,
  • $0288 (648) - wybór pamięci ekranu.

To brzmi skomplikowanie, ale da się ogarnąć po kilkukrotnym przeczytaniu opisów w mapie pamięci dla C64.

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #5 dnia: 02 Kwietnia 2024, 22:21 »
Zrobiłem tak:
19 print "{clear}{down*12}              wszytywanie"
20 gosub 21 : goto 184
21 rem set characterset pointer to address 12288
22 poke 53272,(peek(53272)and240)+12
23 ch = 32 : gosub 48
24 for ch = 1 to 12 :  gosub 48 : next
25 for ch = 58 to 59 :  gosub 48 : next
26 ch = 61 : gosub 48
27 ch = 13 : gosub 48
28 ch = 44 : gosub 48
29 for ch = 46 to 47 :  gosub 48 : next
30 for ch = 14 to 16 :  gosub 48 : next
31 ch = 0 : gosub 48
32 ch = 42 : gosub 48
33 ch = 30 : gosub 48
34 for ch = 17 to 29 :  gosub 48 : next
35 for ch = 31 to 41 :  gosub 48 : next
36 ch = 43 : gosub 48
37 ch = 45 : gosub 48
38 for ch = 49 to 57 :  gosub 48 : next
39 ch = 48 : gosub 48
40 ch = 60 : gosub 48
41 for ch = 62 to 63 :  gosub 48 : next
42 for ch = 65 to 80 :  gosub 48 : next
43 ch = 64 : gosub 48
44 for ch = 81 to 126 :  gosub 48 : next
45 return
46 rem ...............................
47 rem load specific custom character
48 rem ...............................
49 for byte = 0 to 7
50 read cd
51 poke 12288+(8*ch)+byte,cd
52 next byte
53 return
54 data 0,0,0,0,0,0,0,0 :                  rem character 32 -<PUSTE POLE>
55 data 0,0,60,6,62,102,62,0 :             rem character 01 -a
...


I to mi działa. Problem mam z zaimplementowaniem tego do gry.

Offline Mikra_Lbn

  • Level 3
  • ***
  • Wiadomości: 220
    • http://www.lubus.info
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #6 dnia: 03 Kwietnia 2024, 21:16 »
Program, który zamieściłeś, jest mało czytelny (dużo skoków GOSUB) i dodatkowo zamieszcza znaki w miejscu pamięci, które może być potrzebne dla programu. Może się zdarzyć, że włączenie tej procedury nadpisze grę kształtami znaków. Jeśli piszesz grę w BASIC-u, to bezpieczniej będzie zamieścić znaki w miejscu normalnie niedostępnym dla interpretera tego języka, np. od $C000 do $C7FF a pamięć ekranu przenieść do adresu $C800 do $CBFF

Dołączam gotowy program ładujący plik z kształtami znaków i włączający ich wyświetlanie.

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #7 dnia: 04 Kwietnia 2024, 13:40 »
Dzięki, popróbuję. A co do programu to działa ale nie mogę nawet zerknąć jak jest to tam zrobione bo wyświetla mi się tylko to: 27750 l{sh asterisk}<. Ja piszę w basicu ponieważ uczę się dopiero go.

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #8 dnia: 04 Kwietnia 2024, 15:03 »
Program, który zamieściłeś, jest mało czytelny (dużo skoków GOSUB) i dodatkowo zamieszcza znaki w miejscu pamięci, które może być potrzebne dla programu. Może się zdarzyć, że włączenie tej procedury nadpisze grę kształtami znaków. Jeśli piszesz grę w BASIC-u, to bezpieczniej będzie zamieścić znaki w miejscu normalnie niedostępnym dla interpretera tego języka, np. od $C000 do $C7FF a pamięć ekranu przenieść do adresu $C800 do $CBFF

Dołączam gotowy program ładujący plik z kształtami znaków i włączający ich wyświetlanie.

Mam jeszcze pytanie. Da się tam też zrobić duże Polskie litery? Czy tylko małe? Jak tak to jak... No i chciałem zobaczyć jak to będzie wyglądać z moją grą tylko trochę dziwnie się wczytuje. Jak dodałem doczytanie automatyczne po wczytaniu fontu to wywala mi błąd. Jak wpisze LOAD ręcznie to nie wywala... lol

10 if a=0 then a=1: load "font",8,1
20 poke 56578,peek(56578) or 3
25 rem wybierz bank 3 vic-ii
26 rem $c000-$ffff
30 poke 56576,peek(56576) and 252
31 rem wybierz pierwsze 2kb dla znakow
32 rem liczac od poczatku banku $c000
33 rem oraz przydziel pamiec ekranowa
34 rem dla adresu $c800
35 rem bity xxxx0000 ustalaja adres
36 rem pod ktorym znajduja sie znaki
37 rem bity 0010xxxx ustalaja adres
38 rem pod ktorym znajduje sie
39 rem pamiec ekranowa
40 poke 53272,32
45 rem ustaw miejsce wpisywania znakow
46 rem na $c800 (256*200)
50 poke 648,200
60 print "{clear}"
70 print "{down*11}{right*14}Wczytuje gr{cm e}"
80 load "czystka",8,1
90 print "{clear}"

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #9 dnia: 04 Kwietnia 2024, 15:06 »
A tak na marginesie tutaj jest mój font w .bmp :)
https://megawrzuta.pl/download/215dca80876e57ae8f201cb62007dcd3.html

Offline Mikra_Lbn

  • Level 3
  • ***
  • Wiadomości: 220
    • http://www.lubus.info
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #10 dnia: 04 Kwietnia 2024, 21:44 »
Możesz mieć i duże, i małe litery polskiego alfabetu, pozostaje tylko kwestia zaprojektowania i odpowiedniego ich umieszczenia w pamięci.

Jeśli jesteś początkującym programistą, to nie stosuj polecenia LOAD w kodzie programu, żeby załadować inny program napisany w BASIC-u. Lepiej dopisz procedurę ładowania i wyświetlania znaków na początku swojej gry.

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #11 dnia: 04 Kwietnia 2024, 22:00 »
A jak zrobić np. ten plik "ZNAKI", który jest od ciebie? Bo jak rozumiem tam jest font? To co mi dałaś jest wystarczające, nawet i ten font by mógł być tylko brakuje mi tych dużych polskich liter i np. kulki, szachownicy, oraz 4 rogów ramki (tych znaków z klawiatury jak poodwracane L). Gdybyś była uprzejma wytł€maczyć mi jak zrobić ten plik drugi to byłbym dozgonnie wdzięczny lub gdybyś mogła go zrobić z tego fontu co wkleiłem w BMP do tego programiku od ciebie to było by cudownie. Jeżeli chcesz to zapłacę ci za to. Szlak mnie po prostu trafia z tym :(

Offline Mikra_Lbn

  • Level 3
  • ***
  • Wiadomości: 220
    • http://www.lubus.info
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #12 dnia: 04 Kwietnia 2024, 22:34 »
Zacznę od sprostowania - jestem mężczyzną, nie kobietą. ;) Pieniędzy za pomoc nie oczekuję. ;D

Prosty edytor znaków jest dostępny w kartridżu Final Cartidge III. Uruchom przygotowany przeze mnie programik, potem wciśnij klawisz F2, aby wejść do monitora języka maszynowego.

Wpisz polecenie [bfff (wraz z kwadratowym nawiasem) a następnie wciśnij klawisz F5. Wciskając klawisze F3 i F5 będziesz mógł przeglądać i modyfikować znaki. Gwiazdka * oznacza pole wyświetlone a kropka . - pole puste (tło). Pamiętaj, aby każdą zmianę w poszczególnych liniach zatwierdzać klawiszem RETURN.

Gdy chcesz zapisać zmiany na dyskietce, wpisz S"nazwa pliku",08,c000,c800. Niestety po zapisie znaki przestaną się właściwie wyświetlać, dlatego "w ciemno" trzeba wpisać polecenie X, aby wyjść z monitora języka maszynowego, a potem znowu w ciemno wpisać POKE 56576,252.

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #13 dnia: 04 Kwietnia 2024, 23:41 »
Przepraszam, nie wiem gdzie ja MIRKA przeczytałem ;D
A jakiś inny sposób? Mam tylko w tej chwili na tym mieszkaniu THEC64, a 400 kilosów stąd oryginalne :) Mam co prawda Finala na THEC64 ale nie mogę zrobić nic z tego co napisałeś. Może coś pod PC jest takiego czym można jakoś ten plik edytować? Jeżeli się uda to zrobić to byłbym przeszczęśliwy bo tylko tego brakuje mi do szczęścia :P A może jest jakiś program, któym by można ten plik edytować na commodore do fontów?
« Ostatnia zmiana: 04 Kwietnia 2024, 23:49 wysłana przez Perun »

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #14 dnia: 05 Kwietnia 2024, 02:53 »
Przepraszam, nie wiem gdzie ja MIRKA przeczytałem ;D
A jakiś inny sposób? Mam tylko w tej chwili na tym mieszkaniu THEC64, a 400 kilosów stąd oryginalne :) Mam co prawda Finala na THEC64 ale nie mogę zrobić nic z tego co napisałeś. Może coś pod PC jest takiego czym można jakoś ten plik edytować? Jeżeli się uda to zrobić to byłbym przeszczęśliwy bo tylko tego brakuje mi do szczęścia :P A może jest jakiś program, któym by można ten plik edytować na commodore do fontów?
Użyłem programu 1x1_char_editor.
Twój plik znaki.prg mi wczytało.
Edytowałem font.
Zapisałem go jako .prg.
Użyłem twojego pliku "program" do uruchomienia go - podmieniłem twój plik "znaki" na mój.
Font się wczytał ale z innym kolorem ramki, oraz niechce teraz wczytywać mi gry na nim. Czy ja muszę grzebać jeszcze w pliku "program"? Czy nie?
Mógłbyś zerknąć czy ten plik jest ok? Lub wczytać i zapisać go u siebie? FONT i ZNAKI to ten sam plik, tylko kopia jeden jest. W załączniku. Dziękuję.