Autor Wątek: Dandanator + Multiply - nie czyta karty (Timex)  (Przeczytany 3634 razy)

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Dandanator + Multiply - nie czyta karty (Timex)
« dnia: 2023.01.22, 12:52:18 »
Dandanator + Multiply 1.2 + Timex 2068

Dandanator działa, testy - PASS, 'widzi' Multiply - wciśnięcie "1" Pokazuje gui Multiply z informacją "Retrieving file names..."
i koniec, wisi w tym stanie. Na kartę wgrałem kilka plików - romy, tzx-y.
Kartę próbowałem formatować FAT, FAT32 nawet exFAT - (choć później doczytałem że biblioteka SD użyta w Multiply obsługuje tylko FAT i FAT32).
Ciekawostką jest fakt że kiedy po raz pierwszy włożyłem tą kartę (byłem przekonany że jest pusta), były na niej pliki z telefonu w którym kiedyś służyła - ot jakieś zdjęcia pliki tekstowe, i wówczas Multiply pokazało mi listę tych plików (niektóre, jakby wyrywkowo) i dało się strzałkami poruszać po tej liście. Wyjąłem kartę i sformatowałem w czytniku na PC. Później już kaplica. Karta nadal da się czytać i zapisywać na PC bez problemu.
O co może chodzić?
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

KWF

  • Moderator
  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #1 dnia: 2023.01.22, 13:18:28 »
Chyba jakaś niezgodność z Timexami, bo tu podobne zachowanie: https://www.speccy.pl/forum/index.php?topic=7044.msg102052#msg102052
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

Maryjan

  • *****
  • Wiadomości: 6650
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #2 dnia: 2023.01.22, 13:58:18 »
Tam się przypadkiem implementacja Kempston-a  nie sypie ?
"Co miałem powiedzieć - przeczytałem..." Nikodem Dyzma

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #3 dnia: 2023.01.22, 14:01:10 »
Nie wiem, kempstony pokładowe mam wyrwane z korzeniami, zresztą i tak były na AY-greku (TC2068).
Jak to jest z tą zworką w dandanatorze od Joysticka? Ma być założona czy wyjęta?
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

Maryjan

  • *****
  • Wiadomości: 6650
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #4 dnia: 2023.01.22, 16:32:54 »
Założona - Kempston ON
Zdjęta - OFF
"Co miałem powiedzieć - przeczytałem..." Nikodem Dyzma

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #5 dnia: 2023.01.22, 22:08:30 »
Rozumiem, ze zdjętą Multiply jest dla dana niewidoczne,z założoną działa jak opisałem czyli nie działa  :D
To dekodowanie adresu joysticka jest do .......... 'świeci' mi na przedziałach portów od #00-#1F, #40-#5F, #80 - #9F , #C0 - #DF i wszystko powyżej #FF analogicznie tak samo. Jak ja nienawidzę, uboższego niż ośmiobitowe, dekodowania adresu. Z tym od zawsze zdarzały się problemy.
Gdybym wiedział z którego portu korzysta Dandanator aby czytać bit RIGHT swojego portu joysticka, bo nie wydaje mi się że jest to #1F
« Ostatnia zmiana: 2023.01.22, 23:24:28 wysłana przez aqqman »
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

pawelb

  • ***
  • Wiadomości: 176
  • Miejsce pobytu:
    Wawa
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #6 dnia: 2023.01.23, 00:48:30 »
Wychodzi na to że to urok Timexów.
Komunikacja miedzy Dandanator a multiply działa przez złącze db9 na nim.
Dandanator zleca działanie na serialu ( mogę się mylić ale tak wynikało z kodu do arduino)   a  Multiply oddaje dane z powrotem w paczkach o
długości 4bit. Może jakoś inaczej ta komunikacja działa - np. czasy transmisji  ponieważ ta komunikacja nie sprawdza danych i oczekuje w określonym czasie przypływ danych.
Możliwe jak jakiś "magik" weżmie się za wsad od GALa to może się uda zaadaptować dla Timexów. Ja nie potrafię :| .
Sprawdź działanie na Spectrumie lub jego klonie. Jak nie zadziała czytanie to trzeba sprawdzić kabelek Danator->Multiply - u mnie tasiemka się urwała bo była zlutowana na DB9 zamiast jak w oryginale spięta złączką.


KWF

  • Moderator
  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #7 dnia: 2023.01.23, 07:43:13 »
Jeśli się nie mylę to wpis:
Kempston = IOREQ # RD # A5; /*Decode by A5 only*/
w pliku JED wsadu GALa wynika że joystick jest aktywowany tylko stanem niskim na tych trzech pinach (powyżej).
W GAL-u wszystko się niby zgadza.

Żadnym specem od Timexów nie jestem, a moje przemyślenia są takie:

1/ Dekodowanie Kempstona tylko po adresie A5, to żadna nowość i tak samo jest zrobione dla wewnętrznego interfejsu joysticka w TC2048. Należy pamiętać, że wewnętrzny Kempston w TC2048 jest na stałe i nie można go odłączyć bez modyfikacji komputera.

2/ Sianie Dandanatora po portach I/O przy TC2068 może powodować konflikty z portami zajętymi przez SCLD, a jest ich kilka (od 0xF4 do 0xFF). Możliwe, że SCLD dekoduje też metodą uproszczoną tylko po liniach A0, A1 i A3, z pominięciem pozostałych.   

3/ Wsad do GALa w Dandanatorze będzie trudno zmienić, ze względu na brak wolnych we/wy w tym układzie. Można zewnętrznie dołożyć dekodowanie adresu Kempstona po A5, A6 i A7. Mod w załączeniu, ale nie sądzę aby pomógł, skoro Kempston w TC2048 i tak będzie się odzywał siejąc po szynie danych. Dla TC2068 należałoby sprawdzić.

4/ W klonie Timmy w dekoderze Kempstona uwzględniłem A5, A6 i A7, ale tak samo jak w TC2048 jest on na stałe. Aby go wyłączyć należy wyjąć układ U5 (74LS540). Jeśli jego wyłączenie nie pozwala na poprawną pracę Multiply, to moim zdaniem są jakieś jazdy z 4-bitową transmisją na porcie 0x1F.

P.S.

Jak przygotowałiście program w Arduino, pod jaką konfigurację ZXa, bo z tego co widzę domyślnie jest ZX128K (linia nr 36 w Multiply_Arduino.ino) : https://github.com/mad3001/Multiply/blob/main/Src/Multiply_Arduino/Multiply_Arduino.ino
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

pawelb

  • ***
  • Wiadomości: 176
  • Miejsce pobytu:
    Wawa
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #8 dnia: 2023.01.23, 10:47:45 »
Osobiście nie robiłem kompilacji ze żródła. 
U siebie arduino było programowane z konfiguratora romów : dandanator-mini-10.4.1.jar



aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #9 dnia: 2023.01.23, 11:39:02 »
SCLD w TC2068 wygląda że ma dekodowanie co najmniej 8 bitowe - nie sieje po innych portach, przynajmniej w przypadku portów odczytywanych. Kempstona jak w TC2048 fabrycznie tam nie było,a ten był w małych Timexach dekodowany na zewnątrz SCLD.
Zatem tak jak myślałem, grzebanie w sofcie Multiply.
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #10 dnia: 2023.01.23, 18:10:42 »
Podłączyłem sam Dandanator do TIMEXa (bez Multiply) i przez RS do PC. Odpaliłem program ROM-generator. Przy próbie wczytania romu do flash pokazuje na borderze paseczki jakby wczytywał po czym zatrzymuje się z migoczącą ikonką bomby, ale progresbar stoi, i na tym koniec. Wersja płytki 2.1 więc ma już kynar i Rom-WR mod - sprawdziłem. Może jednak to nie Multiply sprawia problemy?

Obsługa RS-232 na Danie jest zrobiona softwareowo z liczeniem czasów taktami zegara, 128 ma inny trochę zegar CPU - czy to może rozjeżdżać transmisję?
« Ostatnia zmiana: 2023.01.23, 18:37:56 wysłana przez aqqman »
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #11 dnia: 2023.01.24, 17:03:31 »
Poodłączałem dodatki bo Dan pokazywał mi 128k a przy pozycji Multiply było 48k. Danadator musiał wykrywać dodatkowe banki pamięci stąd mu wychodziło 128k. Układ dekodowania rejestru pamięci - odłączony, dekoder AY a'la 128k - odłączony. Bez zmian.
Sam Danadator (bez Multiply) przy próbie wgrania ROMu niby wczytuje (border miga paskami), ale kiedy powinien zacząć zapisaywać Flash - stoi i na coś czeka, tylko miga ikonką bomby. Nie może zapisać flasha? czy ma jakiś błąd CRC? trudno powiedzieć. Czy jest ktoś komu z jakimkolwiek Timexem Danadator działa czy poprostu trafiłem na śmieć?
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #12 dnia: 2023.01.25, 00:59:12 »
Straciłem pół dnia aby stwierdzić, że Dandanator nie lubi mojego portu COM w PC (oczywiście po konwersji poziomów), ale taki COM na USB już tak.
Póki co jest tak:
- Dan komunikuje się z PC, wgrywa rzeczy,jako test wgrałem oprócz aktualizacji Dana, DIagROM który nie chciał działać (obraz jak przy braku ROM), ale może taki jego urok w tych warunkach  nie wiem.
- Multiply dało się zaktualizować przez swoje ukryte miniUSB.
- Multiply czasem pokazuje śmieci na karcie ale najczęściej się zawiesza na 'Retrieving'
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

KWF

  • Moderator
  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #13 dnia: 2023.01.25, 08:30:29 »
- Multiply czasem pokazuje śmieci na karcie ale najczęściej się zawiesza na 'Retrieving'

Coś z komunikacją, składaniem paczek 4-bitowych w słowa, liczeniem taktów Z80. Jeśli liczniki w Dan i Multipy są skalowane taktami 128K, to stąd mogą być jazdy przy Timexie. Ale z drugiej strony jeśli działa z 48K to dlaczego nie działa z TC.

Swoją drogą miałem podobne objawy przy komunikacji (niestabilna lub jej brak) Jupitera ACE z kartą SD, jeśli w Jupiterze był kwarc 6,5536 MHz zamiast 6,50 MHz. Tam też odczyt był synchronizowany z taktami procesora.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: Dandanator + Multiply - nie czyta karty (Timex)
« Odpowiedź #14 dnia: 2023.01.25, 19:44:21 »
Też nad tym myślałem, dlatego wypiąłem modyfikację pamięci, tak aby Dan rozpoznawał Timexa jako 48k. Teraz zarówno przy pozycji Multiply w menu jak i na szczycie menu jest "48k", choć w ROMie Dana nie doszukałem się zmiennego timingu w zależności od wersji sprzętu. Może w czasie kompilacji jest to ustalane, nie wiem. Wgranie nowszej wersji ROM Dandanatora (z gotowca) nic nie zmieniło. Jeszcze poszukam innej karty pamięci - może tu leży przyczyna.
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000