Autor Wątek: Jupiter ACE - replika  (Przeczytany 16155 razy)

Klaud

  • Moderator
  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - replika
« Odpowiedź #120 dnia: 2019.01.19, 09:53:34 »
Zabawy z wczytywaniem programów ciąg dalszy.

Miałem okazję spróbować wczytać program z oryginalnej kasety do oryginalnego Jupitera. Początek wyglądał dobrze, nagłówek odczytał się poprawnie, blok danych dalej wczytywał się, ale gdzieś w połowie kaseta odmówiła współpracy i to by było na tyle. Jeszcze 2 próby i zawsze błąd odczytu w tym samym miejscu na taśmie. Czego wymagać od 35 letniej kasety?

W każdym razie z ciekawości zrzuciłem sobie, to co jest na wyjściu z magnetofonu (sygnał pilota), aby mieć jako materiał porównawczy do zabaw z różnymi odtwarzaczami plików TAP. Wartości odczytane z oscylogramu, są w przybliżeniu tymi jakie są zaszyte w ROMie. Stromość narostu i opadania sygnałów z magnetofonu, a tego co generuje np TZXDuino czy ZX Taper są oczywiście inne.

Następnie podpiąłem do oryginału współczesne źródło dźwięku i totalna porażka. W tym przypadku jest on tak samo głuchy jak replika. Próba wczytania programów z sieci w formacie WAV, też nie powiodła się, nawet jeden nagłówek nie został poprawnie odczytany przez Juppiego. Trudno, oryginał to oryginał, nie otwieramy, nie modyfikujemy a grzebiemy w replice.

Nie kijem to pałką, pliki dźwiękowe (format wav) z programami znalezione w sieci są różnej jakości. Po zmianie kondensatora na wejściu z 47nF na taki o pojemności > 470nF, coś zaczyna świtać. Czasem jest mały sukces i Jupiter załapie nagłówek, ale po wczytaniu do końca napisze "ERROR 10". Za podręcznikiem użytkownika:
Cytuj
10 Tape error.
(a) In SAVE or BSAVE – either no file name supplied, nothing to save.
(b) In VERIFY or BVERIFY - the verification has failed
(c) In LOAD – the file is too .long to fit in the remaining memory.
(d) In BLOAD or BVERIFY – :the file is too long to fit in: the length specified.
(e) In LOAD, VERIFY, BLOAD or BVERIFY there was some kind of reading fault.
Either the volume setting is wrong or possibly the file is corrupted.

Nic dodać, nic ująć.

Nie tak, to inaczej. ZX Taper w rękę i zamiast próbować wczytać, czas spróbować zapisać cokolwiek z Jupitera. Następnie zapisany obraz wczytać do niego. Plików TAP ZX Taper nie zapisze, ze względu na inne stałe czasowe oraz dodatkowy znacznik końca bloku. ZX Taper wyrzuci błąd CRC i taki plik jest bezużyteczny. Jest jeszcze opcja zapisania plików w formacie BAW (Binary Audio Wave) i ona działa. Proces wyglądał tak:

1. Zdefiniowałem sobie proste słowo w Forth, wyrzucające na ekran napis "test":

: test ." test" ;
2. Następnie zapis na taśmę:

save test
3. ZX Taper zapisał plik (jupi!), to jedziemy dalej. Reset Juppiego, wczytanie:

load test
Wczytanie poprawne z komunikatem OK po zakończeniu. W pamięci jest nowe słowo "test" i wykonuje się  (plik w załączniku).

Sukces połowiczny, ponieważ działa tylko w jedną stronę i dla nowych programów pisanych na Jupiterze.

A co z plikami TAP, które są w sieci? Dobre pytanie, ale ani jednego nie udało się mi wczytać (nawet nagłówka), ponieważ struktura tych plików jest trochę inna niż tych znanych z ZX Spectrum. Próbowałem zmieniać stałe czasowe dla plików TAP w ZX Taperze, ale bez większych sukcesów.

No dobra, ktoś może zapytać dlaczego nie zmienić TAPów na TZX, skoro ten drugi format potrafi więcej. Dlaczego nie wykorzystać narzędzi z ZX Spectrum i stworzyć plik TZX z blokami ID11 i ID13?. Niby racja, poza małym drobiazgiem, że trzeba przeskalować timingi. Plik TZX jest tworzony dla ZX Spectrum z zegarem 3.5MHz, a Jupiter ma zegar 3.25MHz.

Pozostaje jeszcze TZXduino z lekko zmodyfikowanym wsadem, ale to na inny wieczór.
« Ostatnia zmiana: 2019.01.19, 10:48:45 wysłana przez Klaud »
KL
-----
R Tape loading error 0:1

Maryjan

  • *****
  • Wiadomości: 4682
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Jupiter ACE - replika
« Odpowiedź #121 dnia: 2019.01.19, 13:23:57 »
To trochę roboty z tym jest.
Doceniam i podziwiam :)
"... podobno są dwie szkoły, Falenicka i Otwocka."

Klaud

  • Moderator
  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - replika
« Odpowiedź #122 dnia: 2019.01.19, 13:28:06 »
No to albo ja, albo ON. Zmęczę dziada. W każdym razie odrywam koło na nowo i dobrze mi z tym :D
KL
-----
R Tape loading error 0:1

Klaud

  • Moderator
  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - replika
« Odpowiedź #123 dnia: 2019.01.19, 22:35:16 »
Zmoglem dziada, wczytuje programy, ale więcej napiszę, kiedy dojdę do siebie po ciężkiej walce ;).

Dowód jest tu: https://www.speccy.pl/forum/index.php?topic=4819.msg74740#msg74740
« Ostatnia zmiana: 2019.01.19, 22:42:33 wysłana przez Klaud »
KL
-----
R Tape loading error 0:1

Maryjan

  • *****
  • Wiadomości: 4682
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Jupiter ACE - replika
« Odpowiedź #124 dnia: 2019.01.19, 23:44:06 »
No to GRATULACJE !
"... podobno są dwie szkoły, Falenicka i Otwocka."

Klaud

  • Moderator
  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - replika
« Odpowiedź #125 dnia: 2019.01.20, 11:04:52 »
49K RAM Test - Jupiter z zapiętym modułem 96K RAM i AYkiem.
KL
-----
R Tape loading error 0:1

Klaud

  • Moderator
  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - replika
« Odpowiedź #126 dnia: 2019.02.06, 00:47:49 »
Miałem na pisać co i jak z tym wczytywaniem programów. No to od początku. Tak jak pisałem wcześniej, że oryginalny układ wejścia audio Juppiego jest odporny na sygnały generowany przez nowoczesne odtwarzacze. Do wymiany jest kondensator C3 z 47nF na dowolny o pojemności ponad 470nF.

Można zapomnieć o wczytywaniu plików typu TAP, które leżą tu i ówdzie w sieci. Stryktura i timingi różnią się nieznacznie, ale wystarczająco, aby "piski" np. z TZXduino były skutecznie ignorowane przez Jupitera. Jest jedno małe narzędzie zamieniające TAPy na TZX, a przy okazji podmieniające skalowanie/timingi (z taktowania 3.25MHz na 3.5MHz) odtwarzania tak przygotowanych TZXów. Po konwersji tym narzędziem, Jupiter bez problemów wczytuje wszystko, o ile pliki TAP nie zawierały błędów.

Program w C napisał Miguel Angel (McLeod/IdeaFix), znany z projektu ZXUNO. W załączeniu źródło narzędzia acetap2tzx oraz jeden plik do samodzielnej konwersji. Wersję źródłową należy sobie skompilować przy użyciu np gcc:
gcc -o acetap2tzx acetap2tzx.c
Składnia wywoałania polecenia:

acetap2tzx plik_do_konwersj.tap
W wyniku otrzymamy plik w formacie TZX i można wczytać go przy pomocy TZXDuino. Tak przygotowane pliki TZX nie działają w emulatorze.

Aha, w paczce jest także wersja skompilowana pod macOS.
KL
-----
R Tape loading error 0:1

Maryjan

  • *****
  • Wiadomości: 4682
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Jupiter ACE - replika
« Odpowiedź #127 dnia: 2019.02.06, 01:53:19 »
Fajnie, że jest takie narzędzie :)
Przetestujemy.
"... podobno są dwie szkoły, Falenicka i Otwocka."

Tygrys

  • Administrator
  • *****
  • Wiadomości: 3992
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Jupiter ACE - replika
« Odpowiedź #128 dnia: 2019.02.06, 20:44:51 »
o, fajnie. Ja muszę dokończyć swoje acedirtap i również upublicznić ;)

Klaud

  • Moderator
  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - replika
« Odpowiedź #129 dnia: 2019.02.21, 23:49:25 »
Replika zawitała do Argentyny.
KL
-----
R Tape loading error 0:1

Klaud

  • Moderator
  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - replika
« Odpowiedź #130 dnia: 2019.03.10, 17:41:19 »
Brakowało mi głośniczka 200R, więc dorobiłem sobie 8-omowy z jednym tranzystorem (tak jak to było w JA4000). Do przeróbki potrzebny jest dowolny tranzystor NPN (jakikolwiek), dwa kawałki kynaru i trochę taśmy dwustronnej.
KL
-----
R Tape loading error 0:1

trojacek

  • *****
  • Wiadomości: 5315
  • Miejsce pobytu:
    Warszawa
Odp: Jupiter ACE - replika
« Odpowiedź #131 dnia: 2019.03.10, 19:16:51 »
Z tym "jakimkolwiek" to trochę przesadziłeś, chyba że ograniczysz prąd kolektora do 100-200 mA (tranzystory małej mocy więcej nie wytrzymają).

BTW - co to jest JA4000?

Klaud

  • Moderator
  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - replika
« Odpowiedź #132 dnia: 2019.03.10, 19:31:44 »
Jupiter ACE 4000.
KL
-----
R Tape loading error 0:1

damik

  • *****
  • Wiadomości: 567
  • Miejsce pobytu:
    Bytom
  • ZX Everyday
Odp: Jupiter ACE - replika
« Odpowiedź #133 dnia: 2019.03.19, 14:09:58 »
Po drobnej walce Jupitera mam i ja ;)
W zasadzie gdybym nie zapomniał wstawić rezystora R28 i sprawdził wcześniej RAM to by wystartował od razu. ;D

Udało mi się uzyskać pobór prądu nieco poniżej 400mA przy 5V po wymianie procka na wersję CMOS i kilku TTL na serię HCT.

Pozostaje głośnik i klawiatura do zrobienia, ale to już drobiazgi...
« Ostatnia zmiana: 2019.03.19, 15:12:13 wysłana przez damik »

Klaud

  • Moderator
  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - replika
« Odpowiedź #134 dnia: 2019.03.19, 14:48:41 »
R28 nie ma na oryginalnym schemacie Jupitera, pomimo ze jest on fizycznie na płycie. Na innych schematach często ma podana wartość 1K0, ale nie ma przy nim indetyfikatora.

Widzę, ze tez masz „twórczy bajzel na biurku” :)
KL
-----
R Tape loading error 0:1