Ich habe gerade Mal die ne2000 Treiber (8/16) verglichen.
GitHub - yeokm1/ne2000plus-collection: Collection of NE2000+ software obtained from various sources
Collection of NE2000+ software obtained from various sources - GitHub - yeokm1/ne2000plus-collection: Collection of NE2000+ software obtained from various…
github.com
Der Unterschied ist wahnsinnig gering...
Im 8 Bit Treiber ist in Zeile 169 das hier auskommentiert:
weiter in Zeile 263 auskommentiert:
Code
init_card:
;get the board data. This is (16) bytes starting at remote
;dma address 0. Put it in a buffer called board_data.
assume ds:code
; or endcfg,ENDCFG_WTS
Und in Zeile 305 ein zusätzliches "in al,dx". Vermutlich aus Timing-Gründen.
Der Rest ist String oder Leerzeichen.
Aber der Kommentar vor Zeile 263 irritiert mich. Da steht wieder was von DMA.
Könnte aber vielleicht auch ein DMA Transfer in der Netzwerkkarte sein.
Initialisieren tut der Treiber jedenfalls.
Vielleicht gibt es hier "nur" ein Timing-Problem mit dem IO16 Signal...
Ich müsste das mit einem anderen Rechner vergleichen. Eine Messung habe ich ja.
Bei den Grafikkarten im 16 Bit Modus ist der größte Teil ja der Speicherzugriff, anstelle von IO.