Hades and NE2000 PCI

All things related to the Hades and Milan clones

Moderators: lp, moondog/.tSCc., Moderator Team

artik-wroc
Captain Atari
Captain Atari
Posts: 269
Joined: Fri Jan 06, 2006 1:30 pm
Location: Wroclaw - POLAND

Hades and NE2000 PCI

Post by artik-wroc »

I'm trying to run a RealTek RTL-8029 card. I have two different ones, both work on PC.
The Assemsoft driver loads correctly, but the card does not work.
Wireshark only shows the ARP packet coming from the card, asking for a router. That's all that goes in and out of the card.
inet4.xdd from the Assemsoft website does not work with the current FreeMiNT.
What else needs to be done to make Hades work with a PCI network card.

The ISA NE2000 card works fine under STInG, MiNT and Magic.

Code: Select all

Loading interfaces:
AssemSoft's NE2000 PCI driver v0.0.18 (68020+),
install ISR 0x00141228 for card 0
p Card 0q is a "RealTek RTL-8029" at interface "ne0"
        hwadr: 00:ee:dd:aa:3f:75
        hwpriv: 0x00000000, netif: 0x000d0004, ISR: 0x00141111
        got 52 Rx pages, maxpackets = 0
ISR hwpriv table: 0x000da9a4, 0x00000000, 0x00000000, 0x00000000
ISR routines:     0x00141228, 0x00141234, 0x00141240, 0x0014124c
IP  masquerading by Mario Becroft, 1999.
FTP masquerading support by Torsten Lang, 1999.
User avatar
lp
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2821
Joined: Wed Nov 12, 2003 11:09 pm
Location: GFA Headquarters

Re: Hades and NE2000 PCI

Post by lp »

Possibly related to PCIMAIN chip. Mine had working Ethernet on PCI with PCIMAIN rev 14.
User avatar
TheNameOfTheGame
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2612
Joined: Mon Jul 23, 2012 8:57 pm
Location: Almost Heaven, West Virginia

Re: Hades and NE2000 PCI

Post by TheNameOfTheGame »

I had to update my PCMAIN chip before the network card would work. It was set up properly, but without the chip updated, it just wouldn't work no matter what. As soon as the new chip was in, it worked immediately.
mikro
Hardware Guru
Hardware Guru
Posts: 4724
Joined: Sat Sep 10, 2005 11:11 am
Location: Kosice, Slovakia

Re: Hades and NE2000 PCI

Post by mikro »

In any case, feel free to use inet4.xdd from the current kernel. There isn't any hardware-depend code at all and I'm pretty sure that whatever Ozk had fixed there made it to the mainline kernel as well.
artik-wroc
Captain Atari
Captain Atari
Posts: 269
Joined: Fri Jan 06, 2006 1:30 pm
Location: Wroclaw - POLAND

Re: Hades and NE2000 PCI

Post by artik-wroc »

I updated the PCIMAIN chip, but unfortunately both RTL8029 cards still don't work :(
I'll try the DEC card on TUW drivers to see if it's PCI in Hades whatever works.
User avatar
TheNameOfTheGame
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2612
Joined: Mon Jul 23, 2012 8:57 pm
Location: Almost Heaven, West Virginia

Re: Hades and NE2000 PCI

Post by TheNameOfTheGame »

I seem to remember the ethernet card had to be in the 3rd slot with the graphics and sound card in slots 1 and 2.
artik-wroc
Captain Atari
Captain Atari
Posts: 269
Joined: Fri Jan 06, 2006 1:30 pm
Location: Wroclaw - POLAND

Re: Hades and NE2000 PCI

Post by artik-wroc »

I sincerely doubt that it matters, especially since various information can be found.

Nevertheless, I will try.
User avatar
TheNameOfTheGame
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2612
Joined: Mon Jul 23, 2012 8:57 pm
Location: Almost Heaven, West Virginia

Re: Hades and NE2000 PCI

Post by TheNameOfTheGame »

Yes, can't hurt to try. I think it had to do with my graphics card having 4MB instead of 2MB. I couldn't see why it would matter either myself, but whatever works :). Hades is a strange beast.

Here is my pcidump information if that could help.

Code: Select all

AssemSoft PCI bus dumper                                                        
                                                                                
 ============================================================                   
 -------------------- Card with index 0 ---------------------                   
 ------------------------------------------------------------                   
PCI resource 1...                                                               
Start       0x01000000 - %00000001.00000000.00000000.00000000 - 16777216        
Length      0x01000000 - %00000001.00000000.00000000.00000000 - 16777216        
Offset      0x80000000 - %10000000.00000000.00000000.00000000 - 2147483648      
DMA Offset  0x80000000 - %10000000.00000000.00000000.00000000 - 2147483648      
Flags       0x8702 - %10000111.00000010 - 34562                                 
                                                                                
Vendor ID   0x1002                                                              
Device ID   0x4758                                                              
Command     0x0083 - %00000000.10000011 - 131                                   
Status      0x0200 - %00000010.00000000 - 512                                   
Class code  0x03000003 - %00000011.00000000.00000000.00000011 - 50331651        
Cache Line  0                                                                   
Latency     0                                                                   
Header type 0                                                                   
BIST        0                                                                   
IO 1        0x01000000                                                          
IO 2        0x00000000                                                          
IO 3        0x00000000                                                          
IO 4        0x00000000                                                          
IO 5        0x00000000                                                          
IO 6        0x00000000                                                          
I. Line     0x00FF                                                              
SS Vendor   0x0000                                                              
SS ID       0x0000                                                              
I. Pin      0                                                                   
Min GNT     0                                                                   
Max Latency 0                                                                   
                                                                                
 ============================================================                   
 -------------------- Card with index 1 ---------------------                   
 ------------------------------------------------------------                   
PCI resource 1...                                                               
Start       0x00001000 - %00000000.00000000.00010000.00000000 - 4096            
Length      0x00000040 - %00000000.00000000.00000000.01000000 - 64              
Offset      0xB0000000 - %10110000.00000000.00000000.00000000 - 2952790016      
DMA Offset  0x80000000 - %10000000.00000000.00000000.00000000 - 2147483648      
Flags       0xC702 - %11000111.00000010 - 50946                                 
                                                                                
Vendor ID   0x1274                                                              
Device ID   0x1371                                                              
Command     0x0005 - %00000000.00000101 - 5                                     
Status      0x0410 - %00000100.00010000 - 1040                                  
Class code  0x04010002 - %00000100.00000001.00000000.00000010 - 67174402        
Cache Line  0                                                                   
Latency     32                                                                  
Header type 0                                                                   
BIST        0                                                                   
IO 1        0x00001001                                                          
IO 2        0x00000000                                                          
IO 3        0x00000000                                                          
IO 4        0x00000000                                                          
IO 5        0x00000000                                                          
IO 6        0x00000000                                                          
I. Line     0x00FF                                                              
SS Vendor   0x1274                                                              
SS ID       0x1371                                                              
I. Pin      1                                                                   
Min GNT     12                                                                  
Max Latency 128                                                                 
                                                                                
 ============================================================                   
 -------------------- Card with index 2 ---------------------                   
 ------------------------------------------------------------                   
PCI resource 1...                                                               
Start       0x00001040 - %00000000.00000000.00010000.01000000 - 4160            
Length      0x00000020 - %00000000.00000000.00000000.00100000 - 32              
Offset      0xB0000000 - %10110000.00000000.00000000.00000000 - 2952790016      
DMA Offset  0x80000000 - %10000000.00000000.00000000.00000000 - 2147483648      
Flags       0xC702 - %11000111.00000010 - 50946                                 
                                                                                
Vendor ID   0x10EC                                                              
Device ID   0x8029                                                              
Command     0x0001 - %00000000.00000001 - 1                                     
Status      0x0200 - %00000010.00000000 - 512                                   
Class code  0x02000000 - %00000010.00000000.00000000.00000000 - 33554432        
Cache Line  0                                                                   
Latency     0                                                                   
Header type 0                                                                   
BIST        0                                                                   
IO 1        0x00001041                                                          
IO 2        0x00000000                                                          
IO 3        0x00000000                                                          
IO 4        0x00000000                                                          
IO 5        0x00000000                                                          
IO 6        0x00000000                                                          
I. Line     0x00FF                                                              
SS Vendor   0x10EC                                                              
SS ID       0x8029                                                              
I. Pin      1                                                                   
Min GNT     0                                                                   
Max Latency 0                                                                   
Quitting                                                                        
                                                                                
                                                                                
Program terminated  
artik-wroc
Captain Atari
Captain Atari
Posts: 269
Joined: Fri Jan 06, 2006 1:30 pm
Location: Wroclaw - POLAND

Re: Hades and NE2000 PCI

Post by artik-wroc »

(pcidump) How to redirect output to a file?
artik-wroc
Captain Atari
Captain Atari
Posts: 269
Joined: Fri Jan 06, 2006 1:30 pm
Location: Wroclaw - POLAND

Re: Hades and NE2000 PCI

Post by artik-wroc »

The DEC driver finds the card, but for now it looks for something and finds nothing. I'll keep trying.
There is information about the required SERROM version in the documentation:
And for the full (absolutely necessary !) support of the DMA-ability of the PCI-Bus the following revisions of integrated circuits must be found on the HADES-motherboard:
PCIMAIN version >= 5
SERROM version >= 10A"


Image
User avatar
lp
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2821
Joined: Wed Nov 12, 2003 11:09 pm
Location: GFA Headquarters

Re: Hades and NE2000 PCI

Post by lp »

artik-wroc wrote: Tue May 09, 2023 7:01 pm I sincerely doubt that it matters, especially since various information can be found.

Nevertheless, I will try.
A page from my hypertext about the Hades. The order of the cards was suggested to me by ozk the guy (AssemSoft) that wrote the driver. Never had ethernet problems. My serrom chip is revision 11 as noted in the hyp. On my board(s), it's not soldered.
artik-wroc
Captain Atari
Captain Atari
Posts: 269
Joined: Fri Jan 06, 2006 1:30 pm
Location: Wroclaw - POLAND

Re: Hades and NE2000 PCI

Post by artik-wroc »

Would you be able to read the contents of this chip? I have version 6.
User avatar
lp
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2821
Joined: Wed Nov 12, 2003 11:09 pm
Location: GFA Headquarters

Re: Hades and NE2000 PCI

Post by lp »

artik-wroc wrote: Fri May 12, 2023 5:49 pm Would you be able to read the contents of this chip? I have version 6.
I have no equipment to do that. The machine isn't completely dead, so it's a touchy situation. Not sure what's in the other board (DOA) as I'm in the process of trying to locate it as all my stuff was in storage for several years and it wasn't until just this week I finally fetched the remainder of it from my dad's place.

EDIT: A few hours later. Found the other board and it has serrom 7. Had this machine not been killed in shipping it would of had ethernet issues.
User avatar
TheNameOfTheGame
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2612
Joined: Mon Jul 23, 2012 8:57 pm
Location: Almost Heaven, West Virginia

Re: Hades and NE2000 PCI

Post by TheNameOfTheGame »

lp wrote: Fri May 12, 2023 4:25 pm
artik-wroc wrote: Tue May 09, 2023 7:01 pm I sincerely doubt that it matters, especially since various information can be found.

Nevertheless, I will try.
A page from my hypertext about the Hades. The order of the cards was suggested to me by ozk the guy (AssemSoft) that wrote the driver. Never had ethernet problems. My serrom chip is revision 11 as noted in the hyp. On my board(s), it's not soldered.
Yes, that would be great if it could be dumped. It might help with the sound card issue everyone seems to have also.
User avatar
TheNameOfTheGame
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2612
Joined: Mon Jul 23, 2012 8:57 pm
Location: Almost Heaven, West Virginia

Re: Hades and NE2000 PCI

Post by TheNameOfTheGame »

lp wrote: Fri May 12, 2023 6:05 pm
artik-wroc wrote: Fri May 12, 2023 5:49 pm Would you be able to read the contents of this chip? I have version 6.
I have no equipment to do that. The machine isn't completely dead, so it's a touchy situation. Not sure what's in the other board (DOA) as I'm in the process of trying to locate it as all my stuff was in storage for several years and it wasn't until just this week I finally fetched the remainder of it from my dad's place.

EDIT: A few hours later. Found the other board and it has serrom 7. Had this machine not been killed in shipping it would of had ethernet issues.
Btw, I have the hardware to dump the chip. I'm only 1 state over if you're still in OH so just a day or so in the mail and I could dump the chip and send it right back.

xc1736.png
You do not have the required permissions to view the files attached to this post.
User avatar
lp
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2821
Joined: Wed Nov 12, 2003 11:09 pm
Location: GFA Headquarters

Re: Hades and NE2000 PCI

Post by lp »

TheNameOfTheGame wrote: Sat May 13, 2023 12:34 pm Btw, I have the hardware to dump the chip. I'm only 1 state over if you're still in OH so just a day or so in the mail and I could dump the chip and send it right back.
I'm a bit reluctant since the machine is in a repairable state. The rather cramped case will require tearing it down. Let me mull it over for a bit.
User avatar
TheNameOfTheGame
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2612
Joined: Mon Jul 23, 2012 8:57 pm
Location: Almost Heaven, West Virginia

Re: Hades and NE2000 PCI

Post by TheNameOfTheGame »

Might not be too bad after all. I opened my Hades up and yes, there are some cables that might need to be moved, but doesn't look like a tear-down would be required to extract the one chip. Good thing is that it is socketed :D.

hades_pcb.png
You do not have the required permissions to view the files attached to this post.
artik-wroc
Captain Atari
Captain Atari
Posts: 269
Joined: Fri Jan 06, 2006 1:30 pm
Location: Wroclaw - POLAND

Re: Hades and NE2000 PCI

Post by artik-wroc »

Unfortunately, even updating the SERROM to version 11 did not make the PCI network cards work. The drivers install, but no packages go out.
The DEC driver doesn't hang on startup, but it doesn't work anyway (card tries to "talk" something, but it's all bogus IP to Wireshark, even the card's MAC address is truncated and inverted. So PCI is definitely not working properly.).
The sound card now reports even more errors. So the update didn't help with my Hades motherboard.
artik-wroc
Captain Atari
Captain Atari
Posts: 269
Joined: Fri Jan 06, 2006 1:30 pm
Location: Wroclaw - POLAND

Re: Hades and NE2000 PCI

Post by artik-wroc »

The card was able to start, the TOS version update helped :)
artik-wroc
Captain Atari
Captain Atari
Posts: 269
Joined: Fri Jan 06, 2006 1:30 pm
Location: Wroclaw - POLAND

Re: Hades and NE2000 PCI

Post by artik-wroc »

I tried to run the card with the RTL8139D chip.
The driver recognized the type C. This and the incorrect MAC address most likely indicate that it does not support version D. I will order a C or B and check.

Image
artik-wroc
Captain Atari
Captain Atari
Posts: 269
Joined: Fri Jan 06, 2006 1:30 pm
Location: Wroclaw - POLAND

Re: Hades and NE2000 PCI

Post by artik-wroc »

I managed to get the RTL8029AS PCI card working under Sting. I used the well-known NE2000 card software package:
https://web222.webclient5.de/prj/atari/ ... /index.htm
The transfer speed is no different from the ISA card. A 940kB file downloads in about 52 seconds (both on the ISA 8019AS and PCI 8029AS cards).
However, it is always better to use one card for everything than two. The ISA slot can be used for example for GUS (see: RAVEN).
For now the driver is in two pieces. When it's ready I'll put it on the forum.
mikro
Hardware Guru
Hardware Guru
Posts: 4724
Joined: Sat Sep 10, 2005 11:11 am
Location: Kosice, Slovakia

Re: Hades and NE2000 PCI

Post by mikro »

artik-wroc wrote: Sun Aug 18, 2024 8:45 am I managed to get the RTL8029AS PCI card working under Sting. I used the well-known NE2000 card software package:
https://web222.webclient5.de/prj/atari/ ... /index.htm
So Ozk's drivers were not sufficient? https://assemsoft.atari.org/ne2k/index.html ("I have personally tested driving a RealTek RTL-8029 and a Winbond 89C940 in my Hades") ... oh, I should have checked the starting post first. Sorry for the noise.
artik-wroc
Captain Atari
Captain Atari
Posts: 269
Joined: Fri Jan 06, 2006 1:30 pm
Location: Wroclaw - POLAND

Re: Hades and NE2000 PCI

Post by artik-wroc »

I meant the drivers for Sting.
artik-wroc
Captain Atari
Captain Atari
Posts: 269
Joined: Fri Jan 06, 2006 1:30 pm
Location: Wroclaw - POLAND

Re: Hades and NE2000 PCI

Post by artik-wroc »

I need help. My programming skills are almost non-existent, so I can't handle it.
The hardware part is in the BUS.I (assembler) file. I would like to add a few lines in C (PCI bios calls) to then get the PCI card address.
Right now I have a separate program (RTL8029.PRG) that starts before STING.PRG. The card seems to work fine.
How to combine this into one whole?

It is based on:
PCI Bios DevKit (library for Pure C + example code + test programs with sources)

Code: Select all

#include <portab.h>                   /* Portability-declarations (ULONG,...) */
#include <stdio.h>                    /* Standard-I/O (sprintf,...)           */
#include <string.h>                   /* String- und memory functions         */
#include <tos.h>                      /* OS functions (Cconws,...)            */
#include <pci_bios.h>                 /* PCI-BIOS decl. for init interface    */
#include <pci.h>                      /* common PCI declarations              */

extern LONG pcibios_init(void);

int main(void)
{
  LONG handle;                         		/* PCI device handle                   */
  LONG error;                          		/* BIOS error codes                    */
  ULONG temp, io_adr, superstack, cr_n2k;	/* for temporary data                  */
  UWORD index, flaga;                  		/* index for searching PCI-devices     */
  UBYTE latency, revision, grant;		  	/* temporary data for Latency Timer,...*/

  Cconws("Initialisation of PCI-BIOS interface...");
  error = pcibios_init();              /* initialisation of BIOS interface    */

  if (error != PCI_SUCCESSFUL)         /* problems during initialisation ?    */
  {
    switch (error)
    {
      case PCI_BIOS_NOT_INSTALLED:
        Cconws("\r\nerror, PCI-BIOS interface not found !\r\n");
        Cconws("\r\nplease use PCI_BIOS.PRG in AUTO-folder\r\n");
      break;

      default:
        Cconws("unexpected error, Bill Gates is guilty !\r\n");
    }
    Cconws("\r\nPCI-BIOS interface could not be installed !\r\n");
    Cconws("Press any key\r\n");
    Cconin();                          /* wait for key to be pressed          */
    return 0;                          /* without PCI-BIOS I will leave       */
  }
  Cconws("OK\r\n");

/******************************************************************************/
/* the pci-bios routines should be called in supervisor-mode                  */
  superstack = Super(0L);              /* supervisor-mode                     */
/******************************************************************************/

  Cconws("\nSearching for a Realtek 8029 ethernet card...");
  handle = find_pci_device (0x802910ECL, 0);

  if (handle == PCI_DEVICE_NOT_FOUND)
    printf("not found\r\n\n\n");
  else {
    printf("and found (handle = %lx)\r\n", handle);

  index = fast_read_config_word(handle, CFCS_COMMAND);
  if ((index & CFCR_IOSPACE) == 0)
  	{
  	write_config_word(handle, CFCS_COMMAND, index + 1);
  	printf("Enable response in I/O space. \n");
  	}
  	
  io_adr = fast_read_config_longword(handle, CBA1) & CBA_IOMASK;		/* CBA1 - 0x10 */

	}
/******************************************************************************/
/* now at the end of the samples we can switch back to user-mode              */
  Super((void*)superstack);            /* back to User-mode                   */
/******************************************************************************/
}
And this address (io_adr + 0xb0000000) must be inserted into BUS.I

EDIT: I'm attaching the files if anyone wants to check if it works on Hades at all :)
You do not have the required permissions to view the files attached to this post.

Return to “Hades / Milan / Raven”