Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

NE2000XT - option rom do działania cudów z starym PCtem

korneliuszo 30 May 2022 19:23 2823 9
  • NE2000XT - option rom do działania cudów z starym PCtem



    Założeniem projektu było zgranie padającego dysku MFM z komputera klasy XT.
    Konstrukcja to soft który można wpalić w eeproma wkładanego do sieciówki (NE2000/NE1000) - nie ma potrzeby bawienia się w dyskietki by go użyć.
    Przy okazji uzyskałem:
    - wyświetlanie sekwencji wideo w pełnej rozdzielczości CGA ~9FPS:

    - podpięcie dysku MFM jako block device w linuxie - możliwość użycia narzędzia ddrescue
    - podpięcie wirtualnej dyskietki pod system (możliwe proste rozszerzenie o emulowanie dysków twardych)

    Źródła i binarki (GPL)

    Projekt spełnił moje założenia projektowe i myślę, że to ciekawe oprogramowanie dla osób zajmującymi się retro PC.
    Koszty:
    EEPROM/FLASH ~ 15zł
    Karta NIC - dostępne na znanym polskim serwisie aukcyjnym z dużym rozstrzałem cenowym.

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    korneliuszo
    Level 17  
    Offline 
    korneliuszo wrote 185 posts with rating 30, helped 15 times. Been with us since 2004 year.
  • #2
    korneliuszo
    Level 17  
    Zauważyłem, że originalne karty mają option rom oparty na 2764 (8kB). (Pracuję na bazie https://www.tindie.com/products/weird/isa-8-bit-ethernet-controller/ )

    W nowej rewizji zmniejszyłem rozmiar binarki do 8kB i dodałem wysyłanie broadcasta podczas inicjalizacji - umożliwia to pisanie skryptu który czeka na wystartowanie maszyny
  • #3
    TechEkspert
    Editor
    Bardzo ciekawe ale dla mnie to UFO :) napisz proszę o co tu chodzi, czy eprom na karcie zawiera program startowy, czy pozwala uruchomić się podobnie jak pxe?

    Jak odtwarzany jest ten ruchomy obraz? Czy to plik wykonywalny czy np. dane wysyłane po sieci?

    Dla osób które się tym zajmują to pewnie banał, ale dla pozostałych warto wyjaśnić i zainteresować tematem.
  • #4
    korneliuszo
    Level 17  
    Można powiedzieć że mój program jest takim firmwarem PXE (coś ala projekty etherboot, gPXE), tylko dla starszych sprzętów i z założeniem, że zamiast ładować kolejną binarkę jako chainload, on umożliwia od razu sterowanie starym PC przez sieć.

    Firmware pozwala czytać/zapisywać pamięć, ruszać porty IO oraz wywoływać przerwania BIOSu - umożliwia to wyświetlanie animacji/dumpowanie dysków.

    Obraz jest na bieżąco przesyłany po sieci z skryptu pythonowego. (pakiety udp zawierają dane wrzucane do framebuffera)
    Na maszynie turbo XT uzyskuję transfer na poziomie ~150KB/s (więcej się nie da - dane z karty bezpośrednio zapisywane w framebufferze)

    Dodatkowo dodałem funkcję powrotu do normalnego procesu bootowania oraz przechwytywanie przerwania od dysków - nowoczesny PC po sieci dostaje info, że przerwanie zostało wywołane i może on zrobić wszystko (np. zasymulować dyskietkę)
  • #5
    TechEkspert
    Editor
    Bardzo ciekawe, czy chciałbyś wspólnie nagrać podcast elektroda.pl na ten temat?

    Tutaj dotychczasowe podcasty: https://www.elektroda.pl/rtvforum/audio.php
  • #6
    korneliuszo
    Level 17  
    Nie słucham normalnie podcastów, więc będzie mi ciężko nagrać.
    Wolę jednak zostać przy słowie pisanym - można spokojnie dodać odwołania do kodu źródłowego.

    W chwili obecnej skrypty są demem możliwości.
    Projekt chcę dalej rozwijać, lecz nie mam pomysłu co dodać - czekam na pomysły użytkowników. (np. przechwytywanie innego przerwania, tylko w jakim celu?)

    Na pytania związane z sposobem w jaki sposób napisałem to oprogramowanie również z chęcią odpowiem.
  • #7
    TechEkspert
    Editor
    Wspólne nagranie podcastu to właściwie zwyczajna rozmowa, z mojej strony pilnuję spójności, później robimy postproduckję wycinamy błędy i ciszę, w ten sposób powstaje odcinek, który później pojawia się na elektroda.pl
  • #8
    Tommy82
    Level 41  
    Kiedyś na podobnej zasadzie tylko że cały kod był na kości była zrobiona obsługa ATA password do desktopów. Ale chyba też było jako "moduł" do dodania do BIOS i wgrania bezpośrednio.

    @techekspert
    Jest coś takiego jak Option ROM. Działa to tak że możesz sobie na karcie rozszerzeń zamieścić swój firmware który uruchomi bios po skończeniu POST.
    I teraz może to być w zasadzie wszystko dodatkowa konfiguracja sterownika Raid czy właśnie PXE. Można by w zasadzie zrobić kartę rozszerzeń która tylko taką pamięć by miała działało by to jak kartridż do commodore.
    Tylko że po co skoro najpowszechniejszą kartą rozszerzeń która posiada miejsce na taka pamięci i o ile nie korzystamy z PXE Boot to możemy to zupełnie bezkarnie podmienić.

    To co w tym projekcie jest fajne to zewnętrzne źródło danych.

    Dodano po 3 [minuty]:

    @korneliuszo W sumie chyba nigdy nie widziałem karty sieciowej eternet na ISA 8bit ze skrętką.
  • #10
    Tommy82
    Level 41  
    W sumie przeoczyłem
    Bo jak się kliknie to daje 404 nie zaczaiłem że się dokleja nawias do linku.
    Mam natomiast kartę VGA 8/16 bit przełaczana zworami.
    Niestety mój XT składa się na razie z płyty głowniowej i jest jeszcze w fazie nie działa płyta główna ;) a mam jeszcze klawiaturę już z przyciskami F na górze ale jeszcze z przełącznikiem AT/XT. Jak mam chwile czasu i cierpliwości to czasem siadam do tej płyty.