Autor Wątek: Nowy rok - nowa zabawka: SFDD3500  (Przeczytany 3417 razy)

ArturM

  • **
  • Wiadomości: 97
  • Miejsce pobytu:
    GZM
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #15 dnia: 2024.03.07, 17:36:43 »
Próbuję zrobić tą SFDD bez zasilacza on-board oraz SIO. W teorii widzę że to jest możliwe. Jak wpłynie na działanie urządzenia podłączenie z zasilacza na +5V?
Jak wpłynie? Nie będzie możliwe użycie napędów wymagających oprócz +5V również +12V (np. 3" czy 5.25").

Jako zabezpieczenie układu przed złą polaryzacją zostawiam tylko mostek prostowniczy.
Mostek w takim przypadku Ci się nie sprawdzi, bo z tych 5V zrobi się max 3.6V, a to za mało jak dla tej elektroniki.

Musisz inaczej zabezpieczyć. Np. równoległa dioda shunt, która zewrze zasilanie przy odwrotnej polaryzacji.
https://devxplained.eu/en/blog/reverse-polarity-protection#diode-as-shunt

Albo układ z szeregowym tranzystorem P-MOS, ale on też wniesie prawie 1V spadku. I trzeba znaleźć jakiś o niskim napięciu Vgs.
https://components101.com/articles/design-guide-pmos-mosfet-for-reverse-voltage-polarity-protection
« Ostatnia zmiana: 2024.03.07, 17:45:51 wysłana przez ArturM »

pawelb

  • ***
  • Wiadomości: 179
  • Miejsce pobytu:
    Wawa
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #16 dnia: 2024.03.07, 18:38:28 »
Faktycznie będzie spadek.
A taki trick jak w Timmym?
zasilanie 9V, DB207 i  TSR1-2450 ?  Celem jest zmniejszenie kosztów na zasilaniu.
A mnie 5V zadowala bo używam tylko goteka   :) .
Pewnie się powtarzam - chciałem zrobić emulację WD2123 na arduino lub podobnym . Wychodzi na to że pod względem sygnałowym nie jest to zrealizowania . Szukałem kawałek kodu w C lub Assemblerze Z80 by zobaczyć jak np CP/M maca ten SIO ale nie znalazłem :(.
Pozdr.

ArturM

  • **
  • Wiadomości: 97
  • Miejsce pobytu:
    GZM
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #17 dnia: 2024.03.07, 19:12:17 »
zasilanie 9V, DB207 i  TSR1-2450 ?  Celem jest zmniejszenie kosztów na zasilaniu.
W przypadku Goteka może ten 1A wystarczy dla całości. Przy normalnym napędzie TRACO by "klękło".

Pewnie się powtarzam - chciałem zrobić emulację WD2123 na arduino lub podobnym . Wychodzi na to że pod względem sygnałowym nie jest to zrealizowania . Szukałem kawałek kodu w C lub Assemblerze Z80 by zobaczyć jak np CP/M maca ten SIO ale nie znalazłem :(.
Nie patrz jak się aplikacja komunikuje z SIO tylko jak taki SIO działa w całości, jakie ma rejestry i jak z nimi rozmawiać poprzez bus, i sygnały kontrolne.
Do emulacji za pomocą MCU prędzej bym widział jakiś Cortex-M0+. Tylko czy przy tak niskim taktowaniu jakie ma WD układ RCC takiego ARM-a będzie w stanie jeszcze poprawnie zsynchronizować swoją pętlę PLL (Chyba minimum to 4MHz).

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #18 dnia: 2024.03.07, 23:13:03 »
Szukałem kawałek kodu w C lub Assemblerze Z80 by zobaczyć jak np CP/M maca ten SIO ale nie znalazłem :(.

; Comunicacao serie
; =================
;
; Chip WD 2123
; ============
;
; Enderecos:
;
CANALA equ $80 ; Endereco do porto A
SIOASTS equ CANALA + 1 ; Endereco do registo de status
SIOACMD equ CANALA + 1 ; Endereco do registo de comando
SIOADAT equ CANALA ; Endereco do registo de data
SIOABR equ $10 ; Endereco do registo de baud/rate
;           
CANALB equ $40 ; Endereco do porto B
SIOBSTS equ CANALB + 1 ; Endereco do registo de status
SIOBCMD equ CANALB + 1 ; Endereco do registo de comando
SIOBDAT equ CANALB ; Endereco do registo de data
SIOBBR equ $11 ; Endereco do registo de baud/rate
;
; Comandos de programacao
;
ACOM equ %00000111 ; input e output enable
;
; Flags do registo de status
;
RXRDY equ %00000001 ; Receiver READY
ERR equ %01111000 ; Erro na recepcao ou na emissao
SIOERR equ $37 ; Palavra de comando com reset flag
SIOWORD equ $27 ; Palavra de comando com RQT="0"
RTS equ $20
SIOMASK equ $81

; *** PRINTER ***
;
; Transmite byte recebido registo C
; para canal serie seleccionado
;
;
PRINTER:ld a,SIOWORD
out (SIOACMD),a
call ERROA
IMPHR: in a,(SIOASTS)
bit 7,a ; cts low?
jr z,IMPHR ; nao espera
bit 0,a ; registo de tx esta ready?
jr z,IMPHR ; nao espera
IMPTX: ld a,c
out (SIOADAT),a
ret
;
;
; *** PRINSTS ***
;
; Da o estado do periferico (rs232)
; associoado com o canal seleccionado
;
;
PRINSTS:call ERROA
in a,(SIOASTS)
bit 7,a
jr nz,LPTON
xor a
ret
LPTON: ld a,$FF
ret
;
;
; *** PUN ***
;
; Out do caractere  pelo canal B
;
;
PUN: ld a,SIOWORD
out (SIOBCMD),a
PUNCTS: in a,(SIOBSTS)
and $81 ; espera cts low e thr empty
cp $81
jr nz,PUNCTS
ld a,c
out (SIOBDAT),a
ret
;
;
; *** RDR ***
;
; Le caractere do canal B
;
;
RDR: ld a,SIOWORD
out (SIOBCMD),a ; forca CTS low
RDRLP: in a,(SIOBSTS) ; get status
and $7F         
cp $08         
jr nc,RDRERR   
bit RXRDY,a ; byte ready?
jr z,RDRLP ; espera loop
in a,(SIOBDAT) ; le byte
ld c,a         
ld a,ACOM ; forca CTS high
out (SIOBCMD),a
ld a,c
ret
RDRERR: ld a,$37
out (SIOBCMD),a
jr RDRLP


steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #19 dnia: 2024.03.08, 01:11:38 »
Jeśli się nie rąbnąłem przy dekodowaniu równań (stacja FDD3) to scalak będzie odpowiadał na całej grupie adresów :
0b10xx.xxxx -> $8x, $9x, $ax, $bx -> (port rs232) CS1 (channel A) parzyste data / data , nieparzyste command / status
0b01xx.xxxx -> $4x, $5x, $6x, $7x -> (port rs232) CS2 (channel B) parzyste data / data , nieparzyste command / status

0b000x.xxxx -> $0x, $1x           -> (port rs232) CS3 (baud rate) parzyste: rate CHA (brak odczytu)
                                                                  niep.   : rate CHB (brak odczytu)
Machines should work. People should think.

pawelb

  • ***
  • Wiadomości: 179
  • Miejsce pobytu:
    Wawa
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #20 dnia: 2024.03.08, 03:23:28 »
To już jedno się wyjaśniło. Miałem zagadkę po co na chipie cs3  jeśli wyjść jest dwa a nie trzy.
Adruino nano ma wystarczająco dużo linii i/o oraz prędkość by udawać coś WD2123  ale z tego co wiem, nikt się nie pokusił o napisanie kodu. 
Myślałem nad tym by w fazie prototypowej arduino robiło tylko za monitor stanów i resztę magii robić na pececie ( takie coś jak winmodem  ;D ) ale to chyba ślepa uliczka.

KWF

  • Moderator
  • *****
  • Wiadomości: 6838
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • PCBway
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #21 dnia: 2024.03.08, 09:02:42 »
[OFFTOP]
Emulację WD2123 widziałem w https://hackaday.io/project/171289-microbox-2k2 Może jakość dałoby się ją wyseparować, aby nie wyważać otwartych drzwi.
[/OFFTOP]
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

tapy

  • ***
  • Wiadomości: 226
  • Z80 & CP/M
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #22 dnia: 2024.03.08, 09:42:33 »
Z Arduino i tym podobnym (ARM, RISC-V), to może być problem z czasem reakcji na sygnał CS i w następstwie RD/WR oraz szyny danych. Okazuje się, że im nowsze rozwiązania tym wolniejsze ma porty. W przypadku emulacji tak prostego układu jakim jest port szeregowy to może pomóc zawarty w niektórych mikrokontrolerach PIC (np. w PIC16F877) dedykowany interface PSP (Parallel Slave Port) który reaguje na sygnały CS/WR/RD i szynę danych, choć i tu trzeba by sprawdzić czy adresowanie kilku rejestrów jakie zawierał WD2123 będzie ten PIC w stanie obsłużyć.

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #23 dnia: 2024.03.08, 10:39:42 »
Także niektóre PSOC4 mają coś podobnego o nazwie Smart I/O. Jeszcze lepsze byłyby 'czwórki' lub 'piątki' z UDB (aka wbudowanym CPLD).
Niestety ceny tych PSOCy nie rozpieszczają (od 25 netto  edit: W Farnellu niby od 15, ale jak tam teraz wyglądają zakupy z PL to nie mam pojęcia...)
« Ostatnia zmiana: 2024.03.08, 10:58:10 wysłana przez steev »
Machines should work. People should think.

damik

  • Fresh rosin sniffer ;)
  • *****
  • Wiadomości: 2434
  • Miejsce pobytu:
    Generalnie Polska, głównie Bytom czasem Bielsko-Biała oraz okolice
  • ZX'owy i nie tylko...
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #24 dnia: 2024.03.08, 11:27:42 »
To i tak nie jest tragedia bo podobno oryginalny układ WD2123 na ebay to wydatek nieco ponad 100 PLN.
Nie wiem jak teraz ale w zeszłym roku kupiłem w tej cenie.

Nie wiem czy ten kupiony na ebay działa poprawnie bo jak do tej pory nie udało mi się go przetestować komunikacji RS232 ale w każdym razie po wetknięciu go do FDDXXXX stacja nadal pracuje poprawnie i nie zwiesza się, a to już dobrze rokuje. ;)

EDIT: Teraz widzę że są tam teraz dostępne w cenie ~90 PLN wraz z przesyłką z Chin.
« Ostatnia zmiana: 2024.03.08, 11:49:12 wysłana przez damik »
Wszystkiego po trochu: Schwarz, mydło i powidło... konsole, stare i nieco nowsze komputery oraz akcesoria i duperele.

pawelb

  • ***
  • Wiadomości: 179
  • Miejsce pobytu:
    Wawa
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #25 dnia: 2024.03.25, 20:46:40 »
Moja płytka SFDD3500 się zapełnia. Brakuje trochę 'egzotycznych' części i czas na kanibalizm  ;)
- Z80 będzie z dawcy z80 issue2 . Ma coś nie tak z  pamięcią RAM więc idealnie  nadaje się do tego celu.
- GAL zabiorę z Dantanatora. Mam dwa więc nie będzie szkoda.
- WD1170  z prywatnych zbiorów z piwnicy u brata.  Byłem w weekend by poszukać klawiatury i myszki PS/2 bo pamiętam że kiedyś mieliśmy.  Z poszukiwań wyszło że mam inne 'skarby' w tym dwa WD1770 ale mocno zwichrowane nóżki. Jeden udało się naprostować w drugim jeden pin odpadł ( ta cienka część).
Reszta to TME i  'aledrogo'  . Jedynie nie mam tego SIO - odkładam na później ale podstawkę , kondensatory i kwarc już wlutowany.

Po wielu przemyśleniach jednak będzie ten zasilacz z projektu. Miałem ostatnio parę wpadek z modyfikacją klona ATARI2600 (video mod) i już nie chcę uszkadzać trudno dostępnych chipów.  :)

Wraz z końcem budowy tej stacji zacząłem szukać obudowy. Kardex chyba robi najlepsze. Jaką obudowę pod Goteka  i SFDD3500 byście zaproponowali?

maxit

  • 128k+3
  • ***
  • Wiadomości: 159
  • Miejsce pobytu:
    Warszawa
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #26 dnia: 2024.03.25, 21:55:01 »
Ja zapakuję z Kradexa. Jest taka "idealna" w kilku wysokościach. Jedna pod napęd 3,5", druga pod 3"
Mam jeszcze w zapasie streamer HP jako dawcę obudowy.
Zaczynałem od TIMEX`a....

pawelb

  • ***
  • Wiadomości: 179
  • Miejsce pobytu:
    Wawa
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #27 dnia: 2024.03.26, 11:51:59 »
Pochwal się zdjęciem jak wyszło.
Jeżeli możesz podać nazwy obudowy i/lub jej źródło to sobie też kupię.
Pozdrawiam

maxit

  • 128k+3
  • ***
  • Wiadomości: 159
  • Miejsce pobytu:
    Warszawa
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #28 dnia: 2024.04.03, 23:19:02 »
Scianki są do poprawy. V2 będzie bardziej przestrzenna, bo:

- Napęd kończy się równo z płytką, a powinien wystawać akurat przy tej obudowie 2.5-3mm. Można to poprawić ukośnymi słupkami pomiędzy PCB a FDD.
- Gniazdo zasilania też powinno wystawać poza obrys płyty. Tego nie bardzo da się naprawić, więc trzeba zrobić schodek ustalający od wewnątrz.
- do tej obudowy płytka jest około 2 mm za krótka, więc widać z tyłu jest rzeźba z dziurami pod COMy. Będzie trzeba zrobić schodek/rant wokół tylnej ścianki, żeby weszło w rant ustalający i przylegało do płyty.

Ale generalnie to chyba najtańsza obudowa do tej stacji.
Zaczynałem od TIMEX`a....

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: Nowy rok - nowa zabawka: SFDD3500
« Odpowiedź #29 dnia: 2024.04.03, 23:28:46 »
Do tego w miarę schludna.
Tylko włącznik mógłby być też szary :D
Albo obudowa i flop czarne.