Komputery z Z80 > TIMEX

Dandanator + Multiply - nie czyta karty (Timex)

<< < (2/5) > >>

aqqman:
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

pawelb:
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:

--- Cytat: aqqman w 2023.01.23, 02:26: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.

--- Koniec cytatu ---

Ż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

pawelb:
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:
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.

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

[*] Poprzednia strona

Idź do wersji pełnej