forum speccy.pl
Komputery z Z80 => TIMEX => Wątek zaczęty przez: aqqman w 2021.11.20, 19:54:02
-
Mam urwany kabelek łączący FDD3000 z interface - końcówki przewodów pourywane przy płycie stacji. Czy któryś z kolegów dysponuje rozpiską tegoż złącza na płycie FDD?
W manualu FDD3000 nie znalazłem.
-
Znalazłem schemat stacji FDD3000 i interfejsu. Mam teraz zagadkę polegającą na tym że ze schematów wynika co innego niż z pomiaru kabli które mi zostały nie oberwane.
Na przykład pin2 kabla nie łączy się z pinem 2 w stacji...pin 13 kabla z pinem 2 w stacji. Trochę chaos.
Takie sobie przemyślenie:
Stacja niby umożliwia pracę w trybie byte czyli ośmiobitowym, ale interfejs ogranicza to do 4 bitowego (stąd zwora w FDD ustawiona na nimble). Zastanawia mnie czy ktoś kiedyś pokusił się o wykonanie interfejsu obsługującego transmisję dwukierunkową po ośmiu bitach? Bo o ile łatwiej byłoby taki interfejs zaprojektować no i szybciej by to działało.... no ale ROM interfejsu musiałby się jeszcze "nauczyć" gadać do stacji pełnymi bajtami.
-
Pinologia w załączniku, co prawda z dość parszywego skanu.
-
Znalazłem schemat stacji FDD3000 i interfejsu. Mam teraz zagadkę polegającą na tym że ze schematów wynika co innego niż z pomiaru kabli które mi zostały nie oberwane.
Na przykład pin2 kabla nie łączy się z pinem 2 w stacji...pin 13 kabla z pinem 2 w stacji. Trochę chaos.
Kabelki mają kolory. Możesz wrzucić fotkę?
Stacja niby umożliwia pracę w trybie byte czyli ośmiobitowym, ale interfejs ogranicza to do 4 bitowego (stąd zwora w FDD ustawiona na nimble). Zastanawia mnie czy ktoś kiedyś pokusił się o wykonanie interfejsu obsługującego transmisję dwukierunkową po ośmiu bitach? Bo o ile łatwiej byłoby taki interfejs zaprojektować no i szybciej by to działało.... no ale ROM interfejsu musiałby się jeszcze "nauczyć" gadać do stacji pełnymi bajtami.
Przełączanie byte/nibble to raczej tylko opcja na PCB i nic więcej. Trzeba by do tego przepisać procedury w systemie (TOS, CP/M) oraz przebudować interfejs do komputera, plus ROM pozwalający na taką komunikację.
-
Pinologia w załączniku, co prawda z dość parszywego skanu.
Oj tam. Coś widać.
Ja mam taki skan:
-
Znalazłem jeszcze inny skan schematu FDD3000 i pinologia jest odrobinę inna.
-
Tak w ogóle były chyba dwie wersje drutowania. I w zależności od wersji, były różne ROM-y interfejsu.
Znalazłem u siebie jeszcze coś takiego:
D4/D6 (stare) moze byc D6/D7 (nowe)
interfejs (0Fh) kabel FDD (2Fh)
O0 1 --------> D0
O1 3 --------> D1
O2 5 --------> D2
O3 4 --------> D3
O4 2 --------> D4
O6 6 --------> D6 (D7 <- DRQ)
masa 15 --------- masa
I0 12 <-------- D0
I1 13 <-------- D1
I2 9 <-------- D2
I3 10 <-------- D3
I4 11 <-------- D4
I6 14 <-------- D6
-
Znalazłem u siebie jeszcze coś takiego:
To właśnie ma się nijak do tego co mam.
Nie mam D4
Klaud , twój drugi skan to nie moja stacja. Mam wersję z dwoma EFGJ i dwoma pamięciami 4464 (wcześniejszy skan).
Może to ma być tak:
O.0 - DO0 jest
O1 - DO1 jest
O2 - DO2 jest
O3 - DO3
I0 - DI0
I1 - DI1
I2 - DI2
I3 - DI3
O7 - DO7 (CO2)
O6 - DO6 (CO1)
I7 - DI7 (CI2) jest
I6 - DI6 (CI1)
GND - GND jest
Kabel do wymiany, na coś miękkiego i ekranowanego, bo ten oryginalny ciężko się lutuje i może zdewastować pół chałupy po naciągnięciu i zbyt szybkim puszczeniu. ;D
Zalewana wtyczka ma też już trochę luźne piny.
Czy TOS nie potrafi rozpoznać transmisji nibble/byte (a może nie musi bo EFGJ robi za kontroler transmisji) to możemy tylko spekulować. Podobnie rzecz się ma ze złączem równoległym w tej stacji - TOS nie musi wiedzieć czy CH_A to rs232 czy biedaLPT :)
-
Czy TOS nie potrafi rozpoznać transmisji nibble/byte (a może nie musi bo EFGJ robi za kontroler transmisji) to możemy tylko spekulować.
Po co spekulować, skoro można zajrzeć do kodu? :)
Oto procedura odczytu bajtu z TOS v.A2:
; Communication with TF - read 1 byte (2 nibbles) from TF and put byte in (hl)
; Transmission model:
; Send 0100 0000
; wait for x0x1 rrrr (right nibble)
; Send 0101 0000
; wait for x0x0 llll (left nibble)
; Send 0000 0000
;
1ac6 0601 ld b,01h
; read b bytes and put in (hl++)
1ac8 c5 push bc
1ac9 3e40 ld a,40h ; set b6
1acb d32f out (2fh),a
1acd 015000 ld bc,0050h ; loop x256, c=50
1ad0 db2f in a,(2fh) ; receive right nibble
1ad2 5f ld e,a ; e <- right nibble
1ad3 a1 and c ; leave b6 and b4
1ad4 fe10 cp 10h ; check if b6=0 and b4=1
1ad6 2804 jr z,1adch ; yes -> jump
1ad8 10f6 djnz 1ad0h ; no -> loop for status check with b--
1ada 18db jr 1ab7h ; clear port and return with error
1adc 3e50 ld a,50h ; set b6=1, b4=1
1ade d32f out (2fh),a
1ae0 0600 ld b,00h ; loop x256
1ae2 db2f in a,(2fh) ; receive left nibble
1ae4 57 ld d,a ; d <- left nibble
1ae5 a1 and c ; leave b6 and b4
1ae6 2804 jr z,1aech ; b6=0 and b4=0 -> jump
1ae8 10f8 djnz 1ae2h
1aea 18cb jr 1ab7h
1aec d32f out (2fh),a ; 0
1aee 7b ld a,e ; right nibble
1aef e60f and 0fh
1af1 5f ld e,a
1af2 7a ld a,d ; left nibble
1af3 e60f and 0fh
1af5 07 rlca
1af6 07 rlca
1af7 07 rlca
1af8 07 rlca
1af9 b3 or e ; left + right
1afa 77 ld (hl),a
1afb c1 pop bc
1afc 81 add a,c
1afd 4f ld c,a
1afe 23 inc hl
1aff 10c7 djnz 1ac8h
1b01 af xor a
1b02 c9 ret
Jak widać, bajt jest czytany jako 2 nibbles i nie ma innej metody.
Analogicznie wygląda wysyłka bajtu.
Podobnie rzecz się ma ze złączem równoległym w tej stacji - TOS nie musi wiedzieć czy CH_A to rs232 czy biedaLPT :)
No właśnie zupełnie niepodobnie, bo jeśli faktycznie nie trzeba patchować TOS-u (nie wiem, nie pamiętam), to wynika to z tego, że dane (ośmiobitowe) są wysyłane do sterownika WD2123 w sposób równoległy, czyli równie dobrze mogą one zostać wysłane do zatrzasku '273 (lub podobnego). Moją wątpliwość budzi tylko obsługa dodatkowych linii LPT (czyli ACK i pewnie cos tam jeszcze, jakieś BUSY chyba?) - czy da się je tak prosto zamapować na linie kotroli przepływu WD2123, by TOS nie wymagał absolutnie żadnych przeróbek. Obecnie nie jestem tego w stanie stwierdzić, bo jestem daleko od mojego "głównego" komputera.
Poważnym minusem jakichkolwiek przeróbek TOS jest fakt, że system znajduje się na każdej dyskietce i jakąkolwiek poprawkę należałoby zreplikować na wszystkie posiadane dyskietki. No a potem takie dyskietki mogą nie pracować poprawnie u innych... Niestety nie ma w stacji możliwości ładowania systemu z pamięci ROM. Taką cechę miał mieć chyba nowy klon stacji, który coś się nie może wyłonić z umownej deski kleślarskiej naszego forumowego kolegi ;)
-
Ah, wyjaśniłeś sprawę, czyli nibble bezwarunkowo wygrało.
Co do LPT to Bajtek 9/92, 10/92 opisują tam tą przeróbkę stacji. Jest tak jak mówisz CTS i RTS są przemapowane zworkami na BUSY,STROBE, stacja ma takie zworki.
Co do podmiany biosu w FDD3000 (wersja z 2xEFGJ), są sobie takie sygnały na szynie płyty jak EPROMCS oraz IROM.... vide YABUS.TF (szkoda że download umarł na jego stronie dawno temu)
-
Tak, FDD3000 ma złącze systemowe, w które można wsadzić kartę z EPROM-em i przejąć kontrolę nad startem. Tyle, że mało kto ma ochotę coś tam lutować na płycie (a trzeba wlutować gniazdo). Dlatego wspomniałem o klonie, który ma zwykły EPROM.
-
Sygnały na tym złączu są w jakimś standardowy układzie czy we własnym?
-
Oczywiście, że we własnym :)
Na schemacie jest rozpiska.
-
Ale należy wspomnieć, że miejsce na złącze występuje tylko w dużych płytach FDD 3000.
W stacjach UniPolbrit-a (licencyjnych FDD 3000) oraz FDD 3 miejsca nie ma, bo są tam małe płyty z pamięcią "na barana".
-
Za to małe płyty mają normalny EPROM, który można podmienić.
-
Tak, FDD3000 ma złącze systemowe, w które można wsadzić kartę z EPROM-em i przejąć kontrolę nad startem. Tyle, że mało kto ma ochotę coś tam lutować na płycie (a trzeba wlutować gniazdo). Dlatego wspomniałem o klonie, który ma zwykły EPROM.
Ja bym chętnie polutował :D tyle że nie kompletnie w ciemno i na czuja - bo wiem za mało na temat tego jak to ma działać. W opisie Yarka jest za mało informacji, na przykład wspomina o 4 bankach włączanych - wyłączanych przez EFGJ121 a jednocześnie o 8kB max ROM - to mi się kupy nie trzyma. 4 banki, przestrzeń adresowa 64kB to skąd te 8kB?.
-
W opisie Yarka jest za mało informacji, na przykład wspomina o 4 bankach włączanych - wyłączanych przez EFGJ121 a jednocześnie o 8kB max ROM - to mi się kupy nie trzyma. 4 banki, przestrzeń adresowa 64kB to skąd te 8kB?.
Przestrzeń adresowa 64KB jest w pamięci stacji.
Interfejs odłącza 16KB ROM w komputerze.
W jednej połowie zlokalizowana jest pamięć ROM interfejsu (4 KB), a w drugiej RAM (2KB).
Na ROM jest do wykorzystania przestrzeń 8KB.
Yarek zrobił w swoim interfejsie 4 banki ROM wykorzystując bity 5 i 7, które nie były wykorzystywane do komunikacji ze stacją.
-
Interfejs odłącza 16KB ROM w komputerze.
W jednej połowie zlokalizowana jest pamięć ROM interfejsu (4 KB), a w drugiej RAM (2KB).
Na ROM jest do wykorzystania przestrzeń 8KB.
Yarek zrobił w swoim interfejsie 4 banki ROM wykorzystując bity 5 i 7, które nie były wykorzystywane do komunikacji ze stacją.
Ja nie o tym.
Pisałem o EFGJ - takie SCLD w stacji, i o tym że ono tam w tej stacji wydziela 4 banki (bramką OR na diodach - schemat FDD3000) i o ROMie stacji, tym zaszytym wewnątrz EFGJ. O tym że robiąc YABUS w stacji pisał że max 8 kB ROM (stacji dla stacji).
Nie o interfejs i nie o komputer chodziło. Taki offtop.
Tak wracając do tematu chyba nic lepszego nie znajdę, spróbuję podłączyć jak napisałem ...pare postów wyżej ::)
-
Bankowanie 4x16KB = 64 KB dotyczy pamięci RAM.
ROM jest limitowany tym, że musi być od adresu #0000, ale nie może zajmować całego 16 KB. W tym samym banku musi być i ROM i RAM równocześnie, by stacja mająca tylko 16 KB RAM miała możliwość wczytania systemu do RAM.
-
Okej, to ma sens, dzięki.
Tyle wiedzy na temat tego sprzętu zdobyłem na tym forum w kilka tygodni - więcej niż wtedy kiedy się tym bawiłem lata temu.
Myślę sobie że jaka szkoda, że wtedy nie było takiego forum i takich ludzi na nim żeby się można było tyle dowiedzieć o tym sprzęcie.