Autor Wątek: FDD3000 na świeżo  (Przeczytany 210284 razy)

pear

  • *****
  • Wiadomości: 5511
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: FDD3000 na świeżo
« Odpowiedź #105 dnia: 2016.01.19, 20:09:24 »
Skoro już mam na płytce WD1772 zamiast oryginalnego WD1770, to można pomyśleć o dyskietkach HD. Wtedy można upchnąć coś około 1,8 MB.
ZX/Enterprise/CPC/Robotron/C128D

pear

  • *****
  • Wiadomości: 5511
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: FDD3000 na świeżo
« Odpowiedź #106 dnia: 2016.01.19, 20:26:13 »
Stronicowanie już za Ciebie zaplanował Yarek ;)
Wzorował się na Z88.
4 rejestry o adresach D0..D3, w które wpisujesz numer strony z bloku RAM (plus opcja ROM w pierwszej ćwiartce adresowej). Wszystko jest na jego stronie. To daje bodajże 4MB przestrzeni adresowej:
http://8bit.yarek.pl/upgrade/yabus.tf/index-pl.html
Musi być dokładnie tak samo ? Chodzi mi o te ograniczenia.
Bardziej byłbym skłonny rozszerzyć szynę adresową o dodatkowe 6 bitów.
Takie rozwiązanie jest w Enterprise, bardzo eleganckie.
W czterech rejestrach są zapisane adresy segmentów pamięci, które mogą być dowolnie podstawiane pod cztery 16KB strony dostępne dla procesora.
Cała przestrzeń adresowa A0..A21 może być dowolnie obsadzona pamięcią RAM/ROM/Flash. To też jest 4MB (256 stron po 16KB).
Adresy A0..A13 są wystawiane wprost przez procesor, a pozostałe 8 bitów A14..A21 jest pobierane z rejestrów zależnie od stanu linii A14 i A15 procesora.
Adresy rejestrów mogę zostawić D0..D3, ale całą logikę adresowania zrobił bym tak jak w Enterprise.
Trzeba będzie użyć jakiejś stonogi CPLD, ale za to może się okazać, że płytka wyjdzie jeszcze mniejsza :)
ZX/Enterprise/CPC/Robotron/C128D

nietoperz

  • ****
  • Wiadomości: 400
Odp: FDD3000 na świeżo
« Odpowiedź #107 dnia: 2016.01.19, 20:44:33 »
Dyskietka HD to odbieranie danych 2x szybciej z FDC. Wyrobi się CPU czy masz DMA? Właśnie uruchamiam płytkę na Z80 4MHz z WD37C65 ale tu mam DMA więc HD nie jest problemem ale bez niego nie byłoby szans obsłużyć FDC przy 4MHz.

pear

  • *****
  • Wiadomości: 5511
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: FDD3000 na świeżo
« Odpowiedź #108 dnia: 2016.01.19, 20:46:41 »
Procesor też można podkręcić. Przecież nie ma żadnych przeszkód typu grafika, czy gry :D
ZX/Enterprise/CPC/Robotron/C128D

nietoperz

  • ****
  • Wiadomości: 400
Odp: FDD3000 na świeżo
« Odpowiedź #109 dnia: 2016.01.19, 21:01:05 »
No niby można acz to leczenie syfa pudrem :)

pear

  • *****
  • Wiadomości: 5511
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: FDD3000 na świeżo
« Odpowiedź #110 dnia: 2016.01.19, 21:05:46 »
O DMA można pomyśleć, ale wtedy już nie ma bata, trzeba przepisać cały soft na nowo, żeby to miało sens.
ZX/Enterprise/CPC/Robotron/C128D

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: FDD3000 na świeżo
« Odpowiedź #111 dnia: 2016.01.19, 21:08:18 »
Pytanie, czy po podkręceniu proca, nie padnie synchronizacja pomiędzy stacją a interfejsem.
I interfejs i stacja czekają tylko 256 razy na kolejne półsłowo...
Machines should work. People should think.

pear

  • *****
  • Wiadomości: 5511
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: FDD3000 na świeżo
« Odpowiedź #112 dnia: 2016.01.19, 21:11:25 »
steev, a czy Ty przypadkiem nie masz źródeł do TOS-u ?
ZX/Enterprise/CPC/Robotron/C128D

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: FDD3000 na świeżo
« Odpowiedź #113 dnia: 2016.01.19, 21:33:30 »
Niestety.
Pytałem już kiedyś o źródła na forum (bez efektu), pytałem też na PW Yarka (bez odpowiedzi).
Mam gdzieś wypluwkę z disassemblera, ale nie nadającą się do kompilacji.
Machines should work. People should think.

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: FDD3000 na świeżo
« Odpowiedź #114 dnia: 2016.01.19, 23:46:15 »
Musi być dokładnie tak samo ? Chodzi mi o te ograniczenia.
Bardziej byłbym skłonny rozszerzyć szynę adresową o dodatkowe 6 bitów.
Takie rozwiązanie jest w Enterprise, bardzo eleganckie.
W czterech rejestrach są zapisane adresy segmentów pamięci, które mogą być dowolnie podstawiane pod cztery 16KB strony dostępne dla procesora.
Cała przestrzeń adresowa A0..A21 może być dowolnie obsadzona pamięcią RAM/ROM/Flash. To też jest 4MB (256 stron po 16KB).
Adresy A0..A13 są wystawiane wprost przez procesor, a pozostałe 8 bitów A14..A21 jest pobierane z rejestrów zależnie od stanu linii A14 i A15 procesora.
Adresy rejestrów mogę zostawić D0..D3, ale całą logikę adresowania zrobił bym tak jak w Enterprise.

Czyli zaproponowałeś dokładnie to samo, tylko bez ograniczania, gdzie ma być ROM, a gdzie RAM.

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: FDD3000 na świeżo
« Odpowiedź #115 dnia: 2016.01.19, 23:49:02 »
Pytanie, czy po podkręceniu proca, nie padnie synchronizacja pomiędzy stacją a interfejsem.
I interfejs i stacja czekają tylko 256 razy na kolejne półsłowo...

Tylko? Aż 256 pętli. W tym czasie druga "strona" wykonuje raptem kilka rozkazów procesora.
Problem może się pojawić, jeśli różnica zegarów obu CPU będzie dziesięciokrotna.

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: FDD3000 na świeżo
« Odpowiedź #116 dnia: 2016.01.19, 23:54:13 »
Mam gdzieś wypluwkę z disassemblera, ale nie nadającą się do kompilacji.

Ja też mam. Zacząłem nanosić komentarze, ale brakuje mi cierpliwości, by to wszystko rozkminić ;)

pear

  • *****
  • Wiadomości: 5511
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: FDD3000 na świeżo
« Odpowiedź #117 dnia: 2016.01.20, 06:35:22 »
Czyli zaproponowałeś dokładnie to samo, tylko bez ograniczania, gdzie ma być ROM, a gdzie RAM.
Za wiele tu już nie można wymyślić ;) Chodzi mi tylko o to, czy zniesienie "Jarkowych" ograniczeń to jakiś problem ?

Problem może się pojawić, jeśli różnica zegarów obu CPU będzie dziesięciokrotna.
Bez szaleństw :) Żeby odczytywać dyskietki HD, to dla WD1772 trzeba podać dwukrotnie szybszy zegar, czyli 16MHz. Dla procesora też wystarczy 2x więcej, czyli będzie 8MHz.

Ja też mam. Zacząłem nanosić komentarze, ale brakuje mi cierpliwości, by to wszystko rozkminić ;)
Trzeba się tym zająć póki zima. W sezonie szkoda czasu na siedzenie przed ekranem ;)
ZX/Enterprise/CPC/Robotron/C128D

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: FDD3000 na świeżo
« Odpowiedź #118 dnia: 2016.01.20, 09:51:28 »
Za wiele tu już nie można wymyślić ;) Chodzi mi tylko o to, czy zniesienie "Jarkowych" ograniczeń to jakiś problem ?

Nie, jeśli nie zależy Ci na uruchamianiu oprogramowania dla Z88. Nie wgłębiałem się w ten temat, więc może nie warto w to brnąć.

Cytuj
Bez szaleństw :) Żeby odczytywać dyskietki HD, to dla WD1772 trzeba podać dwukrotnie szybszy zegar, czyli 16MHz. Dla procesora też wystarczy 2x więcej, czyli będzie 8MHz.

To faktycznie całkiem bezpieczna konfiguracja.
Przy okazji przydałaby się opcja odpinania INT, albo raczej jakieś podstawowe zarządzanie przerwaniami, ale to może w przyszłości.

Cytuj
Trzeba się tym zająć póki zima. W sezonie szkoda czasu na siedzenie przed ekranem ;)

To przydałoby się jakieś repozytorium, by każdy mógł wnieść jakiś wkład.

pear

  • *****
  • Wiadomości: 5511
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: FDD3000 na świeżo
« Odpowiedź #119 dnia: 2016.01.20, 10:04:40 »
Przy okazji przydałaby się opcja odpinania INT, albo raczej jakieś podstawowe zarządzanie przerwaniami, ale to może w przyszłości.
O co chodzi z tym INT od kontrolera dysków ? Jeśli tylko o to, że zajmuje jedyne wejście INT procesora, to żaden problem. Dodam w CPLD ze cztery wejścia zewnętrznych przerwań i dekoder priorytetowy.

To przydałoby się jakieś repozytorium, by każdy mógł wnieść jakiś wkład.
Na jakimś publicznym serwerze, czy mam coś u siebie przygotować ?
ZX/Enterprise/CPC/Robotron/C128D