Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

BLACK BOX V.9 - C64 - Czyli Zrób to sam ;)

gregor124 25 Aug 2023 19:10 5466 55
phoenixcontact
  • O serii cartridge BLACK BOX pewnie słyszał w Polsce każdy, kto miał w latach 80'-90' styczność z komputerem Commodore C64.
    Najbardziej popularnymi były (jeśli się mylę, proszę mnie poprawić) v3,4,5 i v8. Ich popularność wynikała z dobrego wsparcia dla użytkowników magnetofonów, czyli obsługi Turbo i programu do regulacji skosu głowicy magnetofonowej. Posiadały one także, zależnie od wersji, dodatkowe programy i proste rozszerzenia języka BASIC.
    Na ich dużą popularność miała także wpływ to, że nie były to układy zbyt zaawansowane technicznie, więc dość łatwe do skopiowania. Toteż powstało wiele klonów z większymi (najczęściej sprowadzającymi się do zmiany nazwy produktu poprzez dodanie kolejnych cyferek oraz usunięcie informacji o autorze) lub żadnymi zmianami powstało też kilka licencjonowanych wersji.
    Była to chyba najczęściej nielegalnie kopiowana rodzina kartridży w Polsce.
    W rezultacie autor postanowił stworzyć kolejny cartridge BLACK BOX z kolejnym numerem tym razem "9" w nazwie, w którym wykorzystał całe swoje doświadczenie nabyte przy realizacji wcześniejszych wersji tj. 1, 2, 3, 4, 5, 6, 7 i 8. Czym różni się wersja 9 od pozostałych?
    Przede wszystkim dodano obsługę stacji dyskowych w trybie Turbo ok. 15x.
    Całkowicie spolszczono interfejs użytkownika, a także znacznie rozbudowano język BASIC.
    Dodano obsługę polskich znaków zarówno na ekranie jak i wydruku.
    W v9 można było dołączyć drukarkę w najpopularniejszym wówczas standardzie równoległym oraz uzyskać wydruk polskich znaków w najpopularniejszych wówczas standardach znanych z komputerów PC.
    Dodano też rozszerzenia BASIC dające możliwość tworzenia aplikacji okienkowych oraz pomoc z opisem rozszerzeń dostępną na ekranie w każdej chwili.
    Dodatki te umożliwiały niemal profesjonalne zastosowanie komputera C64.
    Tym razem autor postanowił zabezpieczyć swój produkt przed nieautoryzowanym kopiowaniem. Z wywiadu, jaki udzielił po latach, wynika, że przy tworzeniu zabezpieczenia poprosił o pomoc największego specjalistę od układów scalonych na Politechnice Wrocławskiej. W rezultacie powstał układ, który tak zabezpieczył ten cartridge, że właściwie do dzisiaj nie udało się go sklonować.
    Paradoksalnie to silne zabezpieczenie, a więc brak dostępu do tanich klonów, a potem rozpowszechnienie komputerów 16-bitowych spowodowało, że cartridge BLACK BOX V.9 nie uzyskał popularności, na jaką moim zdaniem zasługiwał.
    Prawdopodobnie kardridży tych nie sprzedano zbyt wiele, a jeszcze mniej przetrwało do dzisiaj.
    Jeśli nadal nie znudził Cię mój tekst, to możesz czytać dalej, jak zbudować sobie w pełni działającą replikę Black Boxa v.9.
    A jeśli chciałbyś się na razie tylko z nim zapoznać, to skorzystaj z tego pliku obrazu
    Black_Box...0.zip Download (21.11 kB)
    Który możesz użyć pod emulatorem VICE Emulator, aby zapoznać się z działaniem BlackBoxa.
    Proponuję ściągnąć najnowszą wersję, w której autorom udało się w końcu usunąć zakłócenia na ekranie spowodowane jednym z zabezpieczeń w programie elektroniczne organy. Niestety, nadal pozostały one na planszy tytułowej.
    Kilka słów o konstrukcji
    Aby było jasne, nigdy nie miałem w ręce oryginalnego kartridża. Całość powstała dzięki analizie EPROM-u, schematowi zrobionemu z dostępnych zdjęć PCB oraz na zasadzie dedukcji, co autor miał na myśli. W rezultacie powstał układ, który jest w pełni funkcjonalnym symulatorem, wykorzystującym te same układy elektroniczne. W szczegółach technicznych mogą wystąpić jakieś różnice, ale aby je wykryć, musiałbym mieć dostęp do oryginalnego układu.
    W każdym razie Podczas odtwarzania Black Boxa V.9 nie został uszkodzony ani ubity żaden oryginalny układ ani żaden element wchodzący w jego skład.Autor nie odpowiada za żadne straty spowodowane tym układem.

    Co jest potrzebne, aby zbudować swojego Black Boxa v.9?
    1. Układ GAL16v8 (lub odpowiednik ATF16V8).
    2. Pamięć EPROM 27c256 lub odpowiednik.
    3. Programator lub programatory do powyższych układów.
    4. Mikroprzełącznik do przycisku RESET.
    5. Podstawki DIL pod te układy. Szczególnie pod układ GAL, ponieważ przewidziane są jego aktualizacje.
    6. Programator.
    7. PCB (jak uzyskać, napiszę później).
    8. Akcesoria do lutowania ;).
    9. Po kilka kondensatorów 1nF, 100pF i mniejszych (zależnie od posiadanej wersji c64 i c64c i jeszcze innych czynników).
    10. Duuużo cierpliwości i dobrych chęci przy uruchamianiu układu ;).

    Jeśli nadal chcesz stać się posiadaczem Black Boxa v.9, to przeczytaj, jak zdobyć niezbędne materiały do jego zbudowania.
    Jeśli posiadasz już konto na PCBWay.
    Możesz pominięć ten punkt. Jeśli nie, zarejestruj się korzystając z mojego linku.
    Dzięki temu, przy pierwszym twoim zamówieniu, firma przekaże na moje konto 10$ do wykorzystania na nowe wspaniałe projekty, a ty otrzymasz 5$ na swoje konto do wykorzystania na zakupy PCB.
    Jeśli masz już tam konto lub dokonałeś rejestracji, możesz teraz zamówić PCB. Tę wersję PCB rekomenduję (jest ona autorstwa użytkownika @Rime i wygląda znacznie lepiej niż moja ;) ), która jest dostępna tutaj.
    W każdym razie obie spełniają swoje zadania i możesz je zastosować zamiennie.
    Koszt PCB to równowartość 5$ plus koszty przesyłki zależne od jej wybranej formy.
    Teraz napiszę bardzo ważną rzecz.
    Proszę za PCB zapłacić kartą, nie stosować żadnych kuponów rabatowych, dzięki temu na moje konto trafi 10% od zamówienia, co mam nadzieję pokryje przynajmniej częściowo poniesione przeze mnie koszty odtworzenia tego Black Box-a"
    Gdy już dokonasz wpłaty, proszę napisz mi email na adres:
    blackboxv9@proton.me

    A ja odeslę Ci w odpowiedzi najnowszy przetestowany plik .jed potrzebny do zaprogramowania układu GAL.
    Mała uwaga, z racji sposobu działania PCBWay i tego, że wpłaty księguje w poniedziałki, pliki .jed będę wysyłał we wtorki lub środy.
    Tak więc proszę się nie denerwować brakiem szybkiej odpowiedzi.
    Jeśli chcesz otrzymywać powiadomienia o aktualizacjach, aktualizowany plik .jed na email czy ewentualnie nowych projektach, proszę dać znać w tym emailu, abym mógł twój adres dodać do listy.
    Na podany adres proszę pisać tylko w sprawie pliku .jed po dokonaniu zapłaty za PCB do BLACK BOX V.9 .

    W sprawach technicznych proszę pytać w tym wątku, myślę że dzięki temu nie będzie potrzeby wielokrotnie przerabiać tego samego problemu.
    Plik do zaprogramowania pamięci EPROM 27C256: Black_Box_....0_bin.zip Download (21.06 kB)

    Na koniec jeszcze raz przypomnę:
    UKŁAD nie jest wierną kopią układu BLACK BOX V.9 produkowanego w latach 90'
    przez firmę ROM BIT a powstał jedynie aby jak najdokładniej symulować/emulować tamten układ więc może i zapewnie się rózni w szczegółach tech. zwłaszcza jeśli chodzi o oprogramowanie ukladu GAL.
    Jest on dostepny na zasadzie licencji:
    Under the Attribution-NonCommercial-NoDerivs (CC BY-NC-ND) License.

    Napotkane Problemy

    Układ powstał na najstarszej wersji c64 tylko takową posiadam. Doszło do mnie że mogą wystąpić trudności na innych wersjach c64 najczęsciej wystarczy dobranie odpowiednich kondensatorów (na PCB przewidziano miejsce na dodatkowe ceramiczne w obudowach SMD na spodniej stronie PCB.
    Z tego co wiem najwięcej problemów może sprawić najnowsza wersja c64 (oryginalny BBV9 podobno na niej nie działał), dokonane różne niestandardowe modyfikacje więc jeśli taką wersję posiadasz zastanów się 2x zanim dokonasz zakupu.Jesli mimo wszystko się zdecydujesz to ja ze swej strony służę wszelką możliwą pomocą.Ale także liczę na innych użytkowników. W końcu po to jest elektroda.pl ;)
    Aby być w zgodzie z regulaminem dodaje także zdjęcie (ta moja) w dodatku bez maski ,teraz dopiero widzę jaka jest brzydka ;)
    BLACK BOX V.9 - C64 - Czyli Zrób to sam ;)

    Filmik z działania



    oraz schemat:
    BLACK BOX V.9 - C64 - Czyli Zrób to sam ;)
    autorstwa użytkownika JarekC
    Aktualizacja.
    Dodaję skrót do świeżego newsa, autorstwa kolegi @Rime, który miał okazję jako pierwszy zapoznać się z klonem BlackBoxa v.9. Jest on także autorem PCB, które nawiązuje prowadzeniem ścieżek i wymiarami do oryginału, więc można zastosować obudowę z epoki, czyli nieśmiertelne Z-7 lub KM20B, a także pomógł w przetestowaniu działania układu na wielu typach C64 i C64C. Co pomogło dopasować optymalną pojemność kondensatora (najlepiej zastosować dwa 1nF i 100pF, jeden z nich w formie SMD).
    https://www.c64.fun/czytaj.php?text=33
    Mała aktalizacja .
    Uklad działa na komputerach z NTSC z kondensatorem 200pF.

    Cool? Ranking DIY
    About Author
    gregor124
    Level 16  
    Offline 
    gregor124 wrote 227 posts with rating 97, helped 22 times. Been with us since 2022 year.
  • phoenixcontact
  • phoenixcontact
  • #8
    kowanski
    Level 11  
    gregor124 wrote:
    @kkowanski
    Wysłałem potrzebne pliki, czekam na relację z uruchomienia ;)

    Dzięki :) Dam znać jak będę miał PCB, to może potrwać od 2 do 5 tyg

    Dodano po 7 [godziny] 3 [minuty]:

    Układy już zaprogramowane i czekają na PCB :)
  • #9
    gulson
    System Administrator
    Ciekawy tekst o tym, jak zabezpieczenie antypirackie spowodowało niskie zainteresowanie rozwiązaniem.
    Takie były czasy, całe Hollywood powstało na tym, że nie chcieli płacić za licencje ;)

    A gdyby zaoferować interfejs angielski, to mógłbym przetłumaczyć DIY i zacząć promować na cały świat ;)
    Napisz do mnie paczkomat lub adres (jeśli poza PL) i wyślę upominek ;)
  • #10
    gregor124
    Level 16  
    @gulson Ciekawa propozycja z tym tłumaczeniem. Problemem może być to, że większość rozkazów rozszerzenia BASIC to skróty od języka polskiego. Ale spróbuję przetłumaczyć.

    W tej chwili zbieram wszelkie informacje na temat cartridge BlackGame, który jak się okazuje był zbudowany na tym samym PCB i PAL/GAL-u, ale z większą pamięcią EPROM.
  • #11
    radius75
    Level 20  
    Przetłumaczenie komend polegałoby na przywróceniu zestawu znaków na standardowy charset z C64.
    Czyli wywalenie polskich fontów i przetłumaczenie opisów.
    Kod znaku po <-pozostałoby wtedy niezmieniony. A programy z wersji PL i EN kartridża, napisane z użyciem jego komend, byłyby w ten sposób wymienne i kompatybilne w działaniu. Oprócz polskich znaczków w wyświetlanym tekście, ale to nieuniknione.
    Np rozkazy <-ż <-ł, to wymaga standardowego zestawu znaków dla wersji EN
  • #13
    radius75
    Level 20  
    !SZ !PL zmienia zestaw znaków.
    Może po prostu w kodzie Basic menu startowego da się podmienić !PL na !SZ i nie trzeba ruszać charsetu bo wystartuje z normalnymi znakami.

    Tłumaczenie np. Hexeditorem .bin mocno ogranicza pole do popisu, ale da się ogarnąć.

    Najwygodniej byłoby wyciągnąć te programy, przerobic pod Basicem i wgrać w carta. Ale trzeba pilnować wielkości wynikowej pliku, aby nie przekroczyć poza przydzielony obszar.
    Jeśli jest tu jakieś dodatkowe zabezpieczenie (np program Basica sam się "modyfikuje" podczas działania komendą POKE, to robi się pod górkę.)
  • #14
    gregor124
    Level 16  
    @radius75
    Nie chciałbym zbytnio ingerować w kod, zresztą to, że obsługuje język polski, jest unikalną zaletą. Myślę o innym rozwiązaniu. Wiem, że można znacznie rozbudować pamięć tego kartridża, zachowując pełną zgodność w dół z oryginałem. Udało mi się dodać bez zmian PCB oraz GAL obsługę 8x więcej pamięci EPROM.
    BlackBox korzysta ze standardowej procedury CHRGET do odczytu. W zasadzie tylko ona wymagałaby zmiany, ale to nie problem, w końcu jest w RAM. Można tak ją zmienić, aby wprowadzane dane najpierw trafiały do procedury w dodatkowym banku. W ten sposób można by dodać zupełnie nowe rozkazy, ale także wprowadzić alternatywne nazwy dla tych samych rozkazów w innych językach i przekodować je na kody z BB9. Teraz wystarczyłoby przechwycić jedynie wykonanie rozkazów takich jak <-P (wyświetl pomoc), PRINT, LIST czy obsługa drukarki i można by program tłumaczyć niejako w locie na język wybrany przez operatora zachowując maksymalną zgodność między różnymi wersjami językowymi.
    Wiem, że to więcej pracy. Co myślisz o takim rozwiązaniu?
    Na poczatek moznaby dodac np. program Monitor.
  • #15
    radius75
    Level 20  
    Nie usuwamy znaków PL. Tylko wymuszenie, żeby kart startował z domyślnym zestawem znaków dla wersji EN.
    Nadal będzie można je załączyć poleceniem !PL.

    Niestety tłumaczenie może być tylko jedno. Albo wersja PL, albo EN. Tam będą wyskakiwały śmieszne znaki, jeśli wersja EN a fonty PL. Jak na screenie, który zamieściłem, wersja PL a znaki EN.

    Załączenie znaków PL nie odbywa się w menu napisanym w Basic, tylko znacznie wcześniej. Bo nie znalazłem tam polecenia !PL (chyba że jest wyzwalane w inny sposób). Wymaga przeanalizowania, czy oba zestawy znaków PL i EN są ładowane z bb9, czy tylko polskie.

    Tu nie ma odseparowanych stringów z tekstem, które łatwo można podmienić na wersję z innym językiem. Są zaszyte w programie i trzeba cały program podmieniać. Czy to nie za wiele kombinacji i pracy dla tak niszowego "produktu"?
    To już nie byłby bb9, a raczej bb10. 😉

    Jeśli ma być przetłumaczony, to niestety każdy z programów bb9 musi być tłumaczony oddzielnie pod BasicemBB9, wygodniej.
    Albo edycja .bin hexeditem, ale tu bardzo ogranicza swobodę, bo problem ze znalezieniem takiego, który wyświetli prawidłowe te fonty i znaki.

    Każdy program możesz przerwać w trakcie jego wykonywania klawiszem run/stop+restore. Wylistować poleceniem LIST, ponownie uruchomić przez RUN.

    EDIT
    Przykładowo zmodyfikowałem program menu startowego.
    Podmieniłem ten kod w pliku .crt i można zobaczyć jak to wygląda w praktyce.
    Pilnowałem żeby wielkość pliku PRG pozostała jak w oryginale. Zajmuje dokładnie tyle samo bajtów. Przydatne do tego jest polecenie <-i
    Przy kopiowaniu kodu z PRG do .bin lub .crt odrzucasz dwa pierwsze bajty, to adres $0801 ładowania pliku PRG, dodawany na początku pliku przy zapisie np na dyskietkę.

    Modyfikowanie programu napisanego w BasicBB9 i zapisanie do pliku PRG daje więcej swobody np. w pozycjonowaniu tekstu. Modyfikację programu w Basic trzeba oczywiście przeprowadzać na C64 z podpiętym BB9. Wynikowy program zapisywać do pliku PRG np na dyskietkę, skąd można go już wyeksportować programem DirMaster na PC.

    Część stringów tekstu w BB9 jest wyświetlana przez program napisany w kodzie maszynowym i tu jedynie edytowanie .bin w hexeditor.
    Trzeba pilnować zachowywać długości stringu aby bajty się zgadzały. Mocno ogranicza to swobodę w pozycjonowaniu i tłumaczeniu.

    Zawsze można fragmenty kodu z bb9 edytować jakimś Monitorem kodu maszynowego (natywnie na C64 pod Vice), zapisywać na dyskietkę, wyodrębnić na PC programem DirMaster i wrzucać do .bin/.crt
    Tak ja bym robił, bez kombinowania i szukanie kodowania znaków dla Hexeditora.

    Myślę że to naświetliło zagadnienie, powodzenia! :)
  • #16
    gregor124
    Level 16  
    @radius75
    Teraz sprawdziłem, jesli wpiszę rozkaz !SZ ponownie wyświetle pomoc, to jest ona już w standardowym zestawie znaków.
    A rozkazy <-ż i <-ł (jedyne zawierające polskie znaki) mogą być zastąpione przez <-@ i <-[znak funta].
    Czyli jesli na początku wprowadzimy rodzaj kodowania to tak już pozostanie o ile w programie tego się nie zmieni.
  • #17
    radius75
    Level 20  
    Tak właśnie będzie.
    Ale wydaje mi się że ustawienie !SZ w programie menu startowego nie załatwia sprawy.
    Reset z wciśniętym C= uruchamia chyba system black box z pominięciem tego menu.
    Trzeba rozkminić od strony języka maszynowego gdzie kartridż ustawia pamięć znaków przy starcie.

    https://www.c64-wiki.com/wiki/Character_set

    bb9 nie jest doskonały, pozwala wyłączyć !sz polskie znaki a następnie <-o uruchomić program organki gdzie plansza początkowa będzie miała znak funta zamiast "ł".
    Trzeba się raczej pogodzić z takimi niedociągnięciami interfejsu.
    Albo zmodyfikować program organki w BasicBB9 i dodać do pierwszej linii programu !SZ lub !PL (w zależności jakie tłumaczenie),skasować zbędne spacje lub tak zmodyfikować linie programu aby bajty sie zgadzały.
    Poprawianie legendy ;p
  • #18
    pawelr98
    Level 39  
    Jak już robić klona, to można było zastosować nieco bardziej współczesne podzespoły w miarę możliwości.
    Eprom to nie problem, kostki flash/mram/fram i inne podobne można stosować zamiennie.

    Natomiast układ PAL/GAL to już ryzyko, że w ciągu najbliższych lat i ten klon będzie wymagał inżynierii wstecznej albo przerobienia.
    Producenci obecnie bardzo chętnie się wycofują z układów PAL/GAL, a pod nóż idą obecnie CPLD.

    Może kolega podpatrzeć SLG46824V-DIP jako alternatywę, jeśli logika jest na tyle prosta że można to odtworzyć.
    Nowoczesne PLD wydane niedawno na rynek.
  • #19
    radius75
    Level 20  
    gregor124 wrote:
    Czyli jesli na początku wprowadzimy rodzaj kodowania to tak już pozostanie o ile w programie tego się nie zmieni.


    "Kodowanie" znaków to niewłaściwe słowo w wypadku Commodore64.
    Bo tutaj zmiana wyglądu fontów polega na podmianie całej bitmapy dla nich.
    Dla wszystkich znaków na raz.
    Ustawieniem wartości w odpowiednich adresach, które wskazują gdzie C64 ma czytać bitmapę fontów. Z ROM czy z RAM.

    I są różne możliwości jak to rozwiązano:
    BB9 czyta fabryczne fonty z ROM C64 do RAM C64 (może ją skopiować w inny, wybrany obszar pamięci), zmienia te kilka wybranych i ustawia adres na modyfikowana bitmapę w RAM C64. A przełączanie !pl !sz polega na zmianie, albo czytamy (tzn VIC czyta) te oryginalne z ROM C64 albo modyfikowane z RAM C64. To najprawdopodobniejsze rozwiązanie. Oszczędza pamięć carta.

    Druga opcja, ma całą bitmapę znaków PL w pamięci carta i ładuje ja do RAM C64 przy starcie i załącza/!pl, a przełącza na tę w ROM C64!sz

    Trzecia, ma obie bitmapy w pamięci carta i ładuje je na zmianę do RAM C64 poleceniem !pl i !sz (nie korzysta nigdy z bitmapy w ROM C64)

    A może być też miks tych rozwiązań. Np modyfikuje za każdym razem bitmapę w RAM C64 po poleceniach !pl !sz
  • #20
    gregor124
    Level 16  
    pawelr98 wrote:
    Jak już robić klona, to można było zastosować nieco bardziej współczesne podzespoły w miarę możliwości.
    Eprom to nie problem, kostki flash/mram/fram i inne podobne można stosować zamiennie.

    Natomiast układ PAL/GAL to już ryzyko, że w ciągu najbliższych lat i ten klon będzie wymagał inżynierii wstecznej albo przerobienia.
    Producenci obecnie bardzo chętnie się wycofują z układów PAL/GAL, a pod nóż idą obecnie CPLD.

    Może kolega podpatrzeć SLG46824V-DIP jako alternatywę, jeśli logika jest na tyle prosta że można to odtworzyć.
    Nowoczesne PLD wydane niedawno na rynek.

    Tak na szybko:
    SLG46824V-DIP Farnell £5.13 - darmowa dostawa od £30.
    Ali... nie dostepny.
    GAL16v8 £2.14 za 10 szt. + £1.41 dostawa?
    Ali.. dostepny jako jeden z najpopularniejszych ukladów.
    Ostatnio kupiłem podstawki pod układy u jednego z najwiekszych dostawcow czasci w Europie , za dostawę zapłaciłem £8 i przyszły w takim stanie, że ponad godzinę prostowałem nóżki,bo nie mogłem już czekać na reklamację. co ciekawe opakowanie było nienaruszone więc w takim stanie po prostu je wysłali.
    A zdrugiej strony po co robic to w ukladzie o ktorym za 10 lat najpewniej nikt nie bedzie pamietal skoro dzis mozna tanio stac sié posiadaczem klona na takich samych ukladach jak oryginal ?
    Dodano po 14 [minuty]:

    @radius75
    Tak, ale zwróćmy uwagę, że unikalną cechą BlackBoxa v.9 jest to, że wspiera on obsługę aż 3 różnych ekranów, a zaprogramowane znaki są dostępne tylko na 2 z nich. Jeden z tych ekranów jest standardowy dla C64, dostępne są zawsze i wyłącznie standardowe znaki z ROM. Więc nie ma problemu, że nagle ktoś używający angielskiego programu będzie miał podmienione znaki.
    Każdy program, który będzie korzystał z dodatkowych znaków, czy to niemieckich, chińskich czy innych, i tak wprowadzi swoje znaki.
    BlackBox 9 mimo dodania wielu funkcji pozostawia urzytkownikowi tyle samo dostepnej pamieci RAM co standardowy c64.
  • #21
    radius75
    Level 20  
    Quote:
    Więc nie ma problemu, że nagle ktoś używający angielskiego programu będzie miał podmienione znaki.
    Każdy program, który będzie korzystał z dodatkowych znaków, czy to niemieckich, chińskich czy innych, i tak wprowadzi swoje znaki.
    BlackBox 9 mimo dodania wielu funkcji pozostawia użytkownikowi tyle samo dostępnej pamięci RAM co standardowy C64.


    Są programy pisane w BASIC, które korzystają po prostu z zestawu znaków z C64 ROM, a nie ładują swojej bitmapy.
    Jeśli uruchomisz taki program przez F3 - <-q:RUN, to nie ma problemu.
    Jeśli uruchomisz przez wpisanie RUN i Enter, to polskie znaki są aktywne podczas działania programu.
    Jeśli uruchamiasz BB9 w wersji EN i masz od razu znaki PL, to próbując tworzyć grafiki znakami specjalnymi nagle masz polskie litery, to chyba w wersji EN jest niewskazane.
    Jeśli stworzymy na BB9 programik w BASIC, w którym wykorzystamy polskie znaki (nie mówię o innych poleceniach BB9, same znaki), to będzie on wyświetlał poprawnie te znaki jedynie na innych BB9.
    Na to jedynie chciałem zwrócić uwagę.
    Korzystałem często z BB3, gdzie polskich znaków nie było, dla mnie te znaki przy pisaniu programu w BASIC są wadą, nie zaletą. Bo np. piszę program z wykorzystaniem znaków graficznych, który ma działać na każdym C64 itp. A tu wyskakuje mi ąćź...
    Po co "nie Polak" ma mieć te znaki od razu załączone, chyba żeby się zdenerwować ;)
    To tylko moje zdanie.
    Gdyby tylko tę bitmapę z polskimi znakami dało się w łatwy sposób wyciągnąć i dołączyć do swojego programu, to miałoby sens. Ale to w prosty sposób się nie da.
    Podobno te znaki można wykorzystać w podłączonej drukarce.
    Ciekawe, czy w ciągu najbliższych 10lat znajdzie się jedna osoba, która stanie na głowie i wydrukuje coś po polsku z BB9. Szacunek :D
  • #22
    gregor124
    Level 16  
    Może ludzie nie używali polskich znaków, bo nie było dotychczas łatwego sposobu na ich uzyskanie ?
    Z wyciągnięciem znaków nie powinno być żadnego problemu.
    Wygląd znaków drukowanych będzie zależny od użytej czcionki w drukarce i będzie można je zmieniać podczas wydruku prostymi znakami najczęściej CHR$(27)... wstawionymi w tekst. Odpowiednie sekwencje znajdują się w instrukcji drukarki.
    Dokładnie tak jak to robiło się w DOS na PC.
    Kodowanie Mazovia może wymagać wymiany ROM w drukarce, ale już Latin to w końcu standard IBM, tak że jest dostępny w większości drukarek i to nie tylko igłowych.
    Generalnie jeśli drukarka da się fizycznie podłączyć i da się uzyskać wydruk z programu w DOS na PC, to powinna działać. Co ciekawe, kodowanie Mazovia obsługuje FreeDOS (cp668) na PC, który wciąż jest rozwijany, ale to może temat na później.
    Rozpracowałem jak wpiąć się z nowymi rozkazami. W sumie mi do pełni szczęścia brakuje tak naprawdę dobrego MONITORA dostępnego zawsze w ROM tak jak mam w Apple II. Kolejna rzecz, którą chciałbym dodać, to wymienne czcionki ekranowe np. stąd.
    Skoro wiem już jak dodać nowe komendy i większy EPROM, to powstanie Black Box v10 wygląda realnie ;)
    Wiecej
    https://pl.wikipedia.org/wiki/Mazovia_(kod)
    https://pl.wikipedia.org/wiki/CP852

    Dodano po 1 [godziny] 48 [minuty]:

    Podmiana czcionek jest bardzo prosta.
    BLACK BOX V.9 - C64 - Czyli Zrób to sam ;)
    Czcionka jest przechowywana w RAM od adresu $e800, więc łatwo ją modyfikować czy wgrać inną z dyskietki lub z EPROM.
  • #23
    radius75
    Level 20  
    Używali. Jak było trzeba każdy modyfikował i tworzył swoje fonty. Ilu użytkowników C64 na świecie to tyle mogło być standardów w rozmieszczeniu fontów (podmiana bitmapy 8x8, traciło się znak specjalny w tym miejscu). Pan Romuald stworzył kolejny standard🙂
    Raczej nie chodziło o łatwość, tylko że był (i jest) brak standaryzacji dla "znaczków" na sprzęcie 8bit ogólnie.
    Każdy po swojemu. A fonty Pana Romualda pasują jedynie do programów Pana Romualda.
    Dołączenie do bb9 zestawu fontów+ przykładowy program jak je załadować i uruchomić z własnymi programami bez użycia bb9, raczej jako dodatek na dyskietce sobie wyobrażam. Ale możliwość zmiany frontów pracując na c64 to ciekawa opcja. Ale pełny charset, zawierający wszystkie znaki graficzne, żeby byl kompatybilny ze standardowym.
    Monitor na pewno by się przydał. Na pewno jest praktyczniejszy od organek. Jakieś oprogramowanie do kopiowanie dyskietek może. BB9 jako pierwszy BlackBox miał turbo dyskowe a programów narzędziowych dla stacji dyskow nic.
    Nawet tzw. "DOS Wedge" tu nie ma. https://en.wikipedia.org/wiki/DOS_Wedge
    Jest za to rozkaz !RD, częściowo ułatwia wydawanie komend dla stacji.
  • #24
    pawelr98
    Level 39  
    gregor124 wrote:

    A zdrugiej strony po co robic to w ukladzie o ktorym za 10 lat najpewniej nikt nie bedzie pamietal skoro dzis mozna tanio stac sié posiadaczem klona na takich samych ukladach jak oryginal ?

    Obecnie o ile mi wiadomo microchip klepie wskazany przez kolegę odpowiednik, natomiast raczej jest to technologia na wylocie, na wylocie bowiem jest większość technologii stosowanych w tego typu konstrukcjach.
    Przejrzy kolega katalogi producentów pamięci to kostki FLASH i SRAM na szynę równoległą będą konsekwentnie wychodzić z produkcji w latach 2028-2032 (macronix jako jedyny podaje dwa modele do 2033).
    Czyli tak w sumie za chwilę.

    Z układami PAL/GAL/CPLD to są trochę inne znaki na niebie. Xilinx usuwa z oferty CPLD, oprogramowanie ostatnie wydane w 2013 roku. Lattice dawno już wywalił z oferty PAL/GAL, CPLD są również wywalane z oferty, a Microchip (który zresztą oficjalnie jeszcze klepie ten odpowiednik układu GAL) to softu do programowania tego nie aktualizował jakoś od połowy lat 2000, bo w nich nadal są ikonki do wywoływania trybu DOS.

    I tu właśnie wchodzi Renesas i tworzy serię GreenPak jako uzupełnienie tej luki w rynku. Dlatego nie sądzę żeby to miało uciec w ciągu najbliższych 10 lat, bo konkurencja sama się usuwa z rynku.
    Może kolega jeszcze obejrzeć mikroprocesory PsoC4/6 od Infineona. Mikroprocesory z wbudowanym układem PLD.
    Jeszcze jakieś podobne konstrukcje są na rynku.

    Ale to dywagacje, najbezpieczniej to by było poszukać jak to zaimplementować na nowym mikroprocesorze lub przyjrzeć się FPGA.
  • #25
    gregor124
    Level 16  
    @pawelr98
    Co do układów PAL/CPLD, to pełna zgoda. Ale akurat GAL są dostępne bez problemów, a to dlatego, że swego czasu zarząd firmy Lattice naruszył przepisy i dokonał "kontrolowanego wycieku technologii", szkoląc chińskich inżynierów oraz nielegalnie eksportując do Chin technologie. Skończyło się na ukaraniu firmy i zmianie kierownictwa. Od tego czasu w Chinach masowo są produkowane tanie układy GAL.

    Układ, który kolega podał, jest dość ciekawy, więc całkiem możliwe, że wykorzystam go przy innej okazji.
  • #26
    gregor124
    Level 16  
    Zrobiłem analizator logów symulatora i dość szybko udało mi się namierzyć sekwencję uruchamiającą blokadę 1-bajtowych błysków na ekranie w programie muzycznym. Wygląda więc, że można je zlikwidować i prawdopodobnie w oryginale tak było.
    Co ciekawe, można jej będzie również użyć do odblokowania.
    Jest to istotne, bo ta blokada nie może być globalna, jak widoczność "bad lines".
    Czy funkcję odblokowania była rzeczywiście zakodowana i użyta definitywnie mogłaby załatwić przestudiowanie instrukcji, niestety takiej nie posiadam.
    W takim razie zwracam się do użytkowników elektrody, może ktoś taką instrukcję posiada i mógłby przesłać mi/zamieścić tutaj jej skan. W ogóle dobrze byłyby wszystkie informacje dotyczące BBv9 zachować w jednym miejscu.
    W każdym razie chodzi mi czy jest tam wspomniane, jak autor zaleca zakończyć pracę syntezatora, aby prawidłowo wrócić do systemu. Wiem, że można z pomocą RESET i klawisza NMI, ale czy autor opisał inny sposób.
    Po co w ogóle taka funkcjonalność?
    Mogłoby to mieć zastosowanie przy dodatkowym oprogramowaniu, które poprawnie mogło działać tylko na oryginalnym cartridge.
  • #27
    Bluefish-Opole
    Level 11  
    Zamówione płytki już mi przyszły z Pcbway, mam wszystkie potrzebne elementy i jest tylko jeden problem. O ile zwykle pamięci eprom już programowałem, o tyle układów GAL jeszcze nigdy. A że mam tylko dwie sztuki wolę nie ryzykować ze coś zrobię źle. Mam programator TL866II plus, po włożeniu układu i wybraniu właściwego z listy udało mi się testowo go 'odczytac' i program bez problemu go rozpoznał. Ale z tego co pamiętam w oryginalnym BB v9 było coś w układzie GAL zablokowane żeby nie dało się go odczytać ani ponownie zapisać. Dlatego prośba do bardziej obeznanych. Mógłby ktoś opisać 'procedurę" programowania tego układu, co zaznaczyć a co odznaczyć żeby można było go w razie aktualizacji ponownie zapisać.
  • #28
    gregor124
    Level 16  
    Jeśli typ GAL wybrałeś prawidłowo, to w zasadzie wystarczy wybrać plik .jed i zaprogramować. Możesz lub nie włączyć opcję zabezpieczenia przed odczytem. W sumie nie ma to znaczenia dla pracy układu czy ewentualnego późniejszego przeprogramowania.
    Proponuję złożyć na razie jeden z podstawek dla GAL, ponieważ przygotowuję kolejną aktualizację, która po przejściu wszystkich testów powinna być wkrótce rozesłana.
    W razie problemów proszę pytać tutaj.
    No i oczekuję, że po uruchomieniu kolega się pochwali ;)
    Włączenie zabezpieczenia spowoduje, że nie da się jedynie odczytać zawartości układu w programatorze co w zamysle ma chronic przed nieautoryzowanym skopiowaniem ukladu.
  • #29
    Bluefish-Opole
    Level 11  
    Życie byłoby zbyt piękne gdyby ot tak wszystko się udawało. wlutowalem podstawki, za programowałem GAL-a i pamięć, wlutowalem kondensatory 1nF i 100pF i nie odpala. Układy to GAL16V8-20LNC, pamięć Signetics 27C256-20 FA. Kondensatory odpowiednio 1.03 nF i 99 pF (mierzone osobno) po wlutowaniu na płytkę pokazuje 1.23 nF (mierzone bez układów w podstawkach). Kości zaprogramowane programatorem TL866 II plus. Czasem przy pierwszym włączeniu tak jakby próbował się uruchamiać ale w pewnym momencie przechodzi na czarny ekran.Przy kolejnym uruchomieniu już nic się nie dzieje dopiero po wyjęciu z gniazda i ponownym włączeniu coś znowu próbuje. Oba kondensatory w wersji SMD rozmiar 1206.
  • #30
    gregor124
    Level 16  
    Mam kilka pytań.
    Czy po programowaniu układy EPROM i GAL przechodzą weryfikację? Jeśli GAL jest zabezpieczony, można spróbować zaprogramować go ponownie, tym razem bez zabezpieczenia, i zweryfikować.
    Czy wiadomo, jaka wersja płyty w C64?
    Co dokladnie znaczy "próbuje"? Co dzieje się na ekranie, czy pokazuje się niebieski ekran jak na filmiku w temacie ?