Welcome, Guest. Please login or register.

Author Topic: Amiga Ethernet Problems  (Read 4672 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show all replies
Re: Amiga Ethernet Problems
« on: August 16, 2012, 05:49:33 AM »
Quote from: freqmax;703676
What is needed is something that works for KS1.3 with 68000 and better so it works on stock A500.

That's unrealistic for most modern stacks. Miami needs more than 512k with a GUI. Genesis looks like it can do with closer to 256k. The 68000 does not have as good of code density as the 68020+. A useful TCP/IP program is needed on top of that like a browser. Miami will run with 2.x if you choose an older more basic GUI. Genesis probably needs 3.x for Reaction or MUI. A 68000 with <1MB and KS1.3 is barbaric. Please upgrade if you want to run anything besides games.

Quote from: freqmax;703676
* Genesis - bugs, but 30% faster than MiamiTCP, requires MUI

Genesis works with Reaction or MUI. The AmigaOS 3.9 version uses Reaction as default. Although AmigaOS 3.9 requires a 68020+, it looks like Genesis is compiled for the 68000 and can use the 68000 AmiTCP kernel. There is a lot of compiler fluff in the main Genesis program. I have a working modified version for the 68020+ that saves about 15k in program size and I haven't even optimized in the 68020+ integer multiplication and division yet. It would probably be possible to save 40k as the optimization is poor. What bugs do you know about? There are 2 bugs directly attributed to Genesis here:

http://lilliput.amiga-projects.net/Abugs.htm

Bug ID=2 turned out to be a Genesis icon format not completely supported by AmigaOS 3.9. The easy fix is loading the Genesis icons into Icon Edit and converting them to normal glow icons. Bug ID=4 looks like the normal behavior of Genesis as intended. Neither are bugs in the programs of Genesis. I did find some very suspicious code in a function starting at $148b0. It looks like this:

lab_148b0:
   link a5,#0
   move.l d2,-(sp)
   move.l (8,a5),d2
   jsr lab_232
   move.l d2,-(sp)
   jsr lab_23a
   nop
   dc.w 0,$4e55 ;this would be an ori.b #$55,d0 but it's obviously not
   dc.w 0 ;this would also be the start of a ori.b with the next function used as the data

lab_148cc:
   link a5,#0
   move.l d2,-(sp)
   ...

This function would likely result in a crash (illegal instruction, illegal address or similar) or at least trashed memory as it falls into the next function with the wrong offset. It's strange how such code could be produced by a compiler. I created a fix in my modified Genesis program although I haven't figured out what causes this function to be executed yet. It is called (jsr) from 4 places in the program. Any other known bugs?
« Last Edit: August 16, 2012, 05:51:56 AM by matthey »
 

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show all replies
Re: Amiga Ethernet Problems
« Reply #1 on: August 16, 2012, 02:18:27 PM »
Quote from: freqmax;703758
A lot of things can be done with 68000 + 1 MB. But you have to skip the fancy GUI stuff and the upgrade hysteria. Using different binaries for 68000 and 68020 is also common and thus solves the code density problem.
A useful TCP/IP program may be Telnet and FTP, and definitely distributed filesystem(s).


I wouldn't call AmigaOS 3.x + MUI/Reaction, a 68020+ and a couple of MB of ram upgrade hysteria. Most people would call it spartan. Most Amiga users that want TCP/IP want to use a browser and need more than what a basic Amiga 500 offers.

Quote from: freqmax;703758

MUI seems overkill for basic connectivity. And the bugs I read about on eabime (or something alike it).


Thanks. I will search EAB. I also forgot about this AmiTCP/Genesis fix which I have been using for a long time:

http://aminet.net/comm/tcp/AmiTCP_PacketFix.lha

Quote from: freqmax;703758

Point is being able to use the same software foundation for all Amiga models. That reduces the number of source code modules to keep track of.

Personally I prefer to have the source code and fix things there rather than to rely on magic binary changes to fix things.


I wish these things too but wishing accomplishes nothing.

Quote from: freqmax;703758

A basic network package would be configured using textfiles. Provide connectivity using driver layer, MAC to IP mapping via ARP, IP routing, and UDP/TCP. Then DHCP and WLAN configuration can be available as applications. Such that Telnet/FTP works. Anything else would be optional.


I think most users would like a GUI. It would be nice to be able to skip the GUI and edit the text files but that is for advanced users. The GUI should do the input filtering IMO. If you don't want a GUI, AmiTCP is all you need.