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

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

0 użytkowników i 3 Gości przegląda ten wątek.

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #15 dnia: 05 Kwietnia 2024, 12:27 »
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.

Przepraszam za zamieszanie. Tutaj jest już cały gotowy z mirrorami włącznie. Odpal go jak możesz i zobacz. Niby działa ale wygląda to inaczej niż od ciebie jak się włączało no i nie mogę gry uruchomić na tym. Font nazywa się "FONT" i jest w 100% zrobiony. To gdybyś mógł go wczytać i zapisać u siebie i zobaczyć czy wtedy będzie działał poprawnie to byłbym wdzięczny. Może program go zapisuje nie tak. Jest też tam na dyskietce. Zapisałem character set też tam na niej. No i jest ten Twój program nazwany "BOOT". Dziękuję.

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ź #16 dnia: 05 Kwietnia 2024, 21:37 »
Wygląda na to, że program 1x1_char_editor tworzy plik wykonywalny, ale trudno go połączyć z programem w BASIC-u. Wyciągnąłem polskie znaki przygotowane przez Ciebie i teraz ładują się tak, jak powinny.

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #17 dnia: 06 Kwietnia 2024, 00:14 »
No właśnie do takiego samego wniosku doszedłem. Dziękuję Ci bardzo! A jak to zrobiłeś i czym?

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #18 dnia: 06 Kwietnia 2024, 00:33 »
Ojej :( Wyciągłeś z tego wcześniejszgo posta. Kurcze :( Wysłałem pod nim drugi z poprawką. No ale nic. Nie będę cię męczył. A chodziło mi o ten, który teraz tutaj wklejam. Dziękuję Ci bardzo za pomoc! Jesteś nieoceniony. Oby ci się szczęściło w życiu :)

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ź #19 dnia: 06 Kwietnia 2024, 09:57 »
Uruchomiłem program utworzony przez edytor znaków, potem zresetowałem komputer (bez czyszczenia pamięci), następnie klawiszem F2 wszedłem do monitora języka maszynowego w Final Cartridge III, wpisałem polecenie zapisu pliku:
.s"font",08,c000,c8000
W ten sposób zapisuję na dysku część pamięci mieszczącej się między adresami $c000 a $c7ff, czyli miejsce, w którym umieszczone są znaki.

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #20 dnia: 06 Kwietnia 2024, 10:11 »
Rozumiem! Dziękuję ci bardzo za całą pomoc. Teraz idę rozwiązywać drugi z problemów. Czyli Czipmusic. Chciałem zrobić sobie Hymn Polski lub Rotę. Tylko te dwa problemy miałem :) Jeden rozwiązałeś.

A tak na marginesie. Jak na THEC64 używam obrazu kartridża to po wyjściu z niego do basica (bo rozumiem, że tak trzeba zrobić?) i wczytaniu fontu (twojego programu), zawiesza mi się. A te funkcje jak F2, o których pisałęś wcześniej nie działają mi. Może ja to w złym miejscu robię? Wrzucisz parę screenów gdzie mam "klikać"? Po uruchomieniu tego kartridża wchodzi mi do takiego graficznego menu.

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ź #21 dnia: 06 Kwietnia 2024, 10:48 »
Ja też nie wykonuję tych operacji na prawdziwym Commodore 64, tylko na emulatorze VICE x64. ;)

Który program się zawiesza? Ten, co jest na dyskietce zmodyfikowanej dzisiaj? Czy może wcześniejszy?

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #22 dnia: 06 Kwietnia 2024, 17:36 »
Każdy. Ale to pod tym Kartridżem co mi tłumaczyłeś wtedy i teraz jak edytować i jak zapisywać.

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #23 dnia: 06 Kwietnia 2024, 18:45 »
Każdy. Ale to pod tym Kartridżem co mi tłumaczyłeś wtedy i teraz jak edytować i jak zapisywać.

A dziwną rzeczą jest to, że pod 20 programami próbowałem ten font edytować i zapisywać. I niechciał działać żaden z nich. Szlaczki dziwne się robiły nawet ja kgo wczytało. Dlatego chciałbym się nauczyć Twojej metody :)

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ź #24 dnia: 07 Kwietnia 2024, 09:49 »
Spróbuję nagrać filmik, jak wygląda tworzenie i zapisywanie znaków. Postaram się to zrobić w ciągu kilku dni, jeśli tylko czas na to pozwoli.

Offline Perun

  • Level 1
  • *
  • Wiadomości: 18
Odp: Zaimplementowanie czcionki polskiej znaki duże i małe do programu.
« Odpowiedź #25 dnia: 07 Kwietnia 2024, 10:28 »
Dziękuję :) A jest możliwość wczytywania np. paru fontów jednocześnie? Lub jeden po drugim i jak to wtedy wygląda? Np. wczytuje font z początkiem gry potem, w tym samym pliku ide dalej np. po pałzie, czy naciśnięciu space. Wczytuje wtedy nowy font i resztę gry? Muszę jakoś czyścić pamięć podczas takiego procesu? Czy raczej plik z fontem i początkiem, a z niego drugi plik z drugim fontem i resztą gry? Da się przy okazji obrazek w basicu wstawić? Jeszcze do tego nie doszedłem hahaha... nie wiem jaka komenda na to i w jakim formacie ma być obrazek... Ogólnie mam problem z tym, żeby np. jednocześnie migał mi obrazek i odtwarzało muzykę. Jak gra muzyka to nie miga, a miga po muzyce ha! Tragedia... ale się nauczę! No i jeszcze zrobiłem tabele wyników ale nie wiem jak to zrobić żeby zapisywało ją na końcu gry i wczytywało na początku. zwykłe save, load pliku? I jakieś przypisanie do zmiennych? A taki mam kod na wyniki:
28 HI$(1)="PER":HI(1)=9000:HI$(2)="PER":HI(2)=7000:HI$(3)="PER":HI(3)=5000
29 HI$(4)="PER":HI(4)=3000:HI$(5)="PER":HI(5)=1000
A tu moja gra tylko, że starsza wersja bo jestem na drugim mieszkaniu i taką kopię mam tu tylko. No bo chciałbym tak zrobić, żeby na monitorze na początku był inny font, a potem inny.
« Ostatnia zmiana: 07 Kwietnia 2024, 10:29 wysłana przez Perun »

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ź #26 dnia: 08 Kwietnia 2024, 15:47 »
Można wczytać wiele fontów i są dwie metody:
  • Wczytujesz do dwóch różnych miejsc w pamięci i możesz korzystać ze znaków na zmianę
  • Nadpisujesz w pamięci stare fonty nowymi

10 ON a GOTO 30, 60
15 a = 1
20 LOAD "font1",8,1
30 PRINT "To jest font 1"
35 GET a$ : IF a$ = "" tHEN GOTO 35
40 PRINT CHR$(147)
45 a = 2
50 LOAD "font2",8,1
60 PRINT "To jest font 2"

Tym przypadku wykonanie polecenia LOAD powoduje wczytanie znaków i cofnięcie wykonywania programu do pierwszej linii (nr 10)

Załadowanie obrazka z poziomu BASIC-a jest możliwe, odtwarzanie muzyki jednokanałowej też, ale odtwarzanie trzykanałowej muzyki w tle to zadanie dla programu w języku maszynowym.

Do zapisywania wyników z gry możesz wykorzystać pliki sekwencyjne (SEQ). Poczytaj o poleceniach OPEN i CLOSE oraz PRINT# i INPUT#.