Click Here
home features news forums classifieds faqs links search
5764 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
Home
Features
News
Forums
Classifieds
Links
Downloads
Extras
OS4 Zone
IRC Network
AmigaWorld Radio
Newsfeed
Top Members
Amiga Dealers
Information
About Us
FAQs
Advertise
Polls
Terms of Service
Search

IRC Channel
Server: irc.amigaworld.net
Channel: #Amigaworld
Channel Policy and Guidelines

(Uses JAVA Applet and Port 1024)
Visit the Chatroom Website

Who's Online
 64 guest(s) on-line.
 0 member(s) on-line.



You are an anonymous user.
Register Now!
 eliyahu:  36 mins ago
 Kremlar:  43 mins ago
 Rob:  1 hr 10 mins ago
 IRTheBorg:  1 hr 14 mins ago
 Wumpus:  1 hr 14 mins ago
 apsturk:  1 hr 27 mins ago
 BigD:  1 hr 42 mins ago
 matthey:  2 hrs 28 mins ago
 wawa:  2 hrs 34 mins ago
 OlafS25:  2 hrs 38 mins ago

/  Forum Index
   /  Amiga Emulation
      /  Amithlon - Complete install guides and patches/info
Register To Post

Goto page ( Previous Page 1 | 2 | 3 | 4 Next Page )
PosterThread
SnkBitten 
Re: Amithlon - Complete install guides and patches/info
Posted on 19-Apr-2018 0:42:27
#21 ]
Member
Joined: 11-Apr-2018
Posts: 40
From: SC, US

@retro

It's not available as licensing issues did it in.

I discovered it a few years ago and have been a huge fan of it and seeing how far it can be pushed in it's current state. It'd be nice to see how a properly updated/new version could run on newer hardware but we'll just have to imagine that.

 Status: Offline
Profile     Report this post  
Wumpus 
Re: Amithlon - Complete install guides and patches/info
Posted on 19-Apr-2018 14:53:06
#22 ]
Member
Joined: 12-Apr-2018
Posts: 61
From: Unknown

@retro

Quote:

retro wrote:
so is it even possible to buy amithlon anymore, i remember that there was a new version that was much faster that was about to be released and then amiga inc, got greedy or just wanted to sabotage it. so did that released ever came out or ?? and what is the legal status now an days. i meen amiga inc is gone so should it not be possible to start op the projekt again and then just sell or redistribute the .roms from hyperion with some kind of deal that was beneficial to all party's ?


I don't want to derail a good informational thread, but I hate to see your anger pointed in the wrong direction.

Haage & Partner didn't license the ROM and OS from Amiga Inc. It wasn't legal on day one, a big horrible surprise to Bernie and the public.

H&P caused everything to go sideways, then kept making matters worse until they bailed on the whole platform.

This is the very, very abridged version. You can easily search the history but it only gets worse from there unfortunately.

Now back to actually useful and not depressing information!

 Status: Offline
Profile     Report this post  
EDanaII 
Re: Amithlon - Complete install guides and patches/info
Posted on 19-Apr-2018 17:42:28
#23 ]
Member
Joined: 21-Dec-2011
Posts: 85
From: Unknown

Well, dayum... might be time to see if I can resurrect my Amithlon box... or even better, see if I have any newer hardware it can run on. :)

It's a shame though, Amithlon can't be open-sourced...

 Status: Offline
Profile     Report this post  
SnkBitten 
Re: Amithlon - Complete install guides and patches/info
Posted on 19-Apr-2018 17:50:03
#24 ]
Member
Joined: 11-Apr-2018
Posts: 40
From: SC, US

@EDanaII

Quote:
Well, dayum... might be time to see if I can resurrect my Amithlon box... or even better, see if I have any newer hardware it can run on. :) It's a shame though, Amithlon can't be open-sourced...


Check the hardware compatibility guide and see if you have any hardware lying around that is known to work. You may be able to build an even better/faster setup than your old box.

I have two tower systems running Amithlon, my primary Intel Core2Duo e8600 system and one I'm testing with an i7-965 setup. I also have two laptops running Amithlon with wireless NICs in them (some old Dell models) as they have "mini-PCI" slots in them and I found a card that works (also in the Hardware guide).

Between my real Amiga's and WinUAE, I still tend to use Amithlon more for my "Amiga" enjoyment.

 Status: Offline
Profile     Report this post  
Hypex 
Re: Amithlon - Complete install guides and patches/info
Posted on 20-Apr-2018 17:30:57
#25 ]
Elite Member
Joined: 6-May-2007
Posts: 9247
From: Greensborough, Australia

@Wumpus

Quote:
Without the old applications, what is the end user connection to the Amiga?


Workbench? Screen dragging? AmigaDOS? Those kinds of things.

Quote:
AROS on a non-68k platform is more like a whole new platform that is neither 68k Amiga nor an established x86 platform and running 68k AOS binaries is an afterthought. It's somewhat compatible from a developer's view, but to end users? It's a new thing that sort of resembles Amiga.


When I first saw DirOpus 4 natively running on AROS it was almost scary. It looked just like it did in an Amiga. If anything AROS made those AmigaOSx86 dreams come true.

Quote:
Both are all but end of the line on hardware now though. You haven't been able to buy a compatible mass produced PPC system for some time and good luck configuring a DDR4 system for the 1GB RAM or less needed for Amithlon so that's limited to the last DDR3 systems (that's what I run on, an i7/ICH10).


You should be able to solve it in software by limiting the RAM size in the boot args.

Quote:
I agree, we need a new one, but the majority of the best tricks used to make it so good aren't viable on current hardware and it's way more involved than just stripping UAE to make it run as half as well as Amithlon.


Given it goes through the Linux kernel it shouldn't be problem. Since a driver would be needed in any case. Virtualisation makes this look transparent.

 Status: Offline
Profile     Report this post  
Wumpus 
Re: Amithlon - Complete install guides and patches/info
Posted on 21-Apr-2018 4:24:22
#26 ]
Member
Joined: 12-Apr-2018
Posts: 61
From: Unknown

@Hypex


Quote:

Hypex wrote:
You should be able to solve it in software by limiting the RAM size in the boot args.


Actually, you can't. All that does is tell the kernel not to use it, it's still physically there and will respond if read/written to at an address it occupies.

Amithlon, like the kernel, uses physical memory addresses.

It does this so that there is no translation and so that any address passed to or from the kernel points to the same location.

Since AmigaOS has questionable design decisions in several places and sloppy long/ulong usage in a macro, bit 31 of some addresses may be used as a flag or may be trashed. This limits AOS to 2GB of normally usable locations. Fixing that completely would break some old applications, so that's not going to happen.

On the x86 side, Amithlon kernel patches adjust the PCI configuration registers to move PCI down into the top of that 2GB area so that AOS can access it.

That's all good until you have 2GB of RAM because you can't move the physical address of the RAM.

At that point, they are both trying to occupy and respond to the same addresses and everything fails. RAM seems to get priority on real systems and most VMs, PCI first on at least one VM.

Even if you patched Amithlon to move PCI to the 2GB point, AOS will mangle the pointers used to access it because they have bit 31 set.

You can't even configure a new x86 system with 1GB anymore, single sicks of RAM are 2GB+.

Quote:

Given it goes through the Linux kernel it shouldn't be problem. Since a driver would be needed in any case. Virtualisation makes this look transparent.


That's the rub, it doesn't use virtual memory addresses, it uses physical.

To get around it you'd have to rewrite Amithlon and we don't have the source.

I mean, you could use KVM to set up a VM for it, but something about an emulator inside a VM just doesn't sit well with me.

 Status: Offline
Profile     Report this post  
Hypex 
Re: Amithlon - Complete install guides and patches/info
Posted on 24-Apr-2018 15:04:26
#27 ]
Elite Member
Joined: 6-May-2007
Posts: 9247
From: Greensborough, Australia

@Wumpus

Quote:
It does this so that there is no translation and so that any address passed to or from the kernel points to the same location.


I would have thought the MMU could be used for any translation. But there was less memory back then.

Quote:
Since AmigaOS has questionable design decisions in several places and sloppy long/ulong usage in a macro, bit 31 of some addresses may be used as a flag or may be trashed. This limits AOS to 2GB of normally usable locations. Fixing that completely would break some old applications, so that's not going to happen.


I know it's used in some allocation routines that are likely so less used as to not matter. But signed lengths are used in DOS. Not sure if device I/O uses signed values. AmigaOS is a 32-bit OS so RAM along with memory mapped devices so can't exactly break the 2GB barrier anyway. To support 4GB and beyond would need a 64-bit CPU/kernel.

Quote:
Even if you patched Amithlon to move PCI to the 2GB point, AOS will mangle the pointers used to access it because they have bit 31 set.


I'm not aware of any pointer mangling. As I understand it any 32-bit address pointer will remain so. In user progras and within system.

Quote:
To get around it you'd have to rewrite Amithlon and we don't have the source.


At this point an Arosthlon would be a better option.

Quote:
I mean, you could use KVM to set up a VM for it, but something about an emulator inside a VM just doesn't sit well with me.


Usually VM is in place of emulation. Logical idea. Running at near native speeds.

Last edited by Hypex on 24-Apr-2018 at 03:08 PM.

 Status: Offline
Profile     Report this post  
Wumpus 
Re: Amithlon - Complete install guides and patches/info
Posted on 25-Apr-2018 0:49:55
#28 ]
Member
Joined: 12-Apr-2018
Posts: 61
From: Unknown

@Hypex

You can fix the DOS MKBADDR macro for any new software, but anything built with the old macro will still be using a signed shift.

AllocEntry() uses bit 31 to indicate failure, so any at or above 2GB would look like they failed.

MakeLibrary uses the first word in the offsets table to flag absolute or relative offsets so within 0xFFFFxxxx it would be hit and miss and hard to diagnose.

There's nothing inherently preventing a 32bit OS with no kernel/user separation from using the full 4GB though, just a few bad decisions that should have been fixed decades ago.

It should have been a minor bump in the road like we had between 1.x, 2.x and 3.x.

 Status: Offline
Profile     Report this post  
umisef 
Re: Amithlon - Complete install guides and patches/info
Posted on 25-Apr-2018 13:09:01
#29 ]
Super Member
Joined: 19-Jun-2005
Posts: 1665
From: Melbourne, Australia

@Hypex

Quote:
I would have thought the MMU could be used for any translation.


It was a design decision. There were three separate views of memory in a system like Amithlon --- the 68k's view of memory, the x86's view of memory, and the PCI bus's view of memory. For mixed-mode programming to be anything other than a complete nightmare, the first two have to match. And to make drivers for DMA-using PCI devices easier, it's really helpful if all three views are identical. In theory, AmigaOS is prepared for peripherals' view to be different from the processor's, and there are routines that drivers should call to do the translation between views. However, on a lot of real Amiga hardware, that translation wasn't necessary, so to not introduce extra complications for Amiga programmers, I decided to make all views identical.

Which is easier said than done --- the address space for PCI expansions on 32 bit x86 is in the 3GB to 4GB range. Unfortunately, in a linux x86 system, that's where the kernel expects to be mapped. So for a 1:1 mapping, the PCI space has to be moved.

Quote:
But there was less memory back then.


Exactly, 1GB was almost unheard of amounts of actual memory, so moving the PCI space to the 1GB to 2GB range (the 2GB to 3GB was used for the actual executable, in the only bit of memory which wasn't 1:1 mapped) was a perfectly sensible thing to do.

Presumably, most memory controllers could be reprogrammed to have a memory hole at 1GB prior to shifting the PCI space, but unlike PCI, they are much less documented.


These days, my approach would be very different --- use a 64 bit kernel, with the kernel safely tucked away a long way beyond the 4GB, and leave the PCI where it is (and where space for it has been set aside by the BIOS/firmware). But Amithlon was 18 years ago, so that wasn't an option.

 Status: Offline
Profile     Report this post  
EDanaII 
Re: Amithlon - Complete install guides and patches/info
Posted on 25-Apr-2018 15:19:51
#30 ]
Member
Joined: 21-Dec-2011
Posts: 85
From: Unknown

@ Umisef

I'm gonna assume this is Bernie, here...

Well, you did the best you could with what you had. It's a damned shame it got caught up in the mess it did. Of all the things that came after the Gateway fun, Amithlon was the best chance for Amiga's future. Don't get me wrong, after Gateway folded, the Amiga was virtually dead, but Amithlon at least gave it a small chance. And if it had merged with AROS? That would have been something. :)

Still, an excellent achievement on your part. Kudos for your contribution, it was worthy, even if the "tide" was against you.


Last edited by EDanaII on 25-Apr-2018 at 03:23 PM.

 Status: Offline
Profile     Report this post  
Wumpus 
Re: Amithlon - Complete install guides and patches/info
Posted on 25-Apr-2018 17:08:28
#31 ]
Member
Joined: 12-Apr-2018
Posts: 61
From: Unknown

@umisef

Thanks for chiming in Bernie!

I'd settle for disabling PCI just to allow it to run on modern hardware with the minimum 2GB RAM you seem to be able to buy today.

I'm not convinced that PCI is useful anymore considering nobody writes Amiga drivers with enough frequency to actually matter. It would be easier to replace ArakAttack for USB and depend on Linux drivers.

It seems like you could modify the kernel userspace PCI patch to not move PCI and simply return "no PCI on the system, sorry" just to keep Amithlon from failing to run.

But from what I can see, RTG isn't using the PCI accessors, it's identity mmapping /dev/fb0 into the 68k address space.

Unfortunately even though there are _HOOKs for many, many major functions, I don't see any for FB related ones, so without the source code, it seems like a complete do-over.

Man, I'd love to replace or update this thing. It's the one project I keep coming back to and nibbling at with a disassembler to see how it works. It's just a really interesting problem with lots of well thought out tricks to make it function so amazingly well.

 Status: Offline
Profile     Report this post  
Wumpus 
Re: Amithlon - Complete install guides and patches/info
Posted on 25-Apr-2018 19:29:44
#32 ]
Member
Joined: 12-Apr-2018
Posts: 61
From: Unknown

As for setting up the memory controller, I haven't found any way to do that outside of the BIOS.

However thanks to bitcoin mining, people are cramming a ton of cards in and causing a problem when they run out of PCI IO space for the cards.

Some newer boards have a setting for TOLUD (top of low usable dram)

That essentially tells the MCH "any address above this isn't yours" so it passes them on to the next device can handle them. It's a RAM limit for our purposes.

If you had one of those boards with a BIOS that can set TOLUD to between 1 and 1.5GB, it would probably work.

It's similar to when 4GB RAM became affordable and people were trying to squeeze those last few usable megabytes in. It's the same setting, but we need the opposite direction.

 Status: Offline
Profile     Report this post  
intangybles 
Re: Amithlon - Complete install guides and patches/info
Posted on 27-Apr-2018 4:44:34
#33 ]
Member
Joined: 22-Aug-2017
Posts: 29
From: Brisbane, Australia

@SnkBitten

Hi, and thanks again for the guides.

I have just happened upon one of these: ThinkPad R51

ThinkPad R51 Specs

Just wanted your thoughts on how compatible you think it will be? I have a lovely old ThinkCentre Pentium M machine that works a treat, an Amithlon laptop would be a wonder to behold

Thanks.

 Status: Offline
Profile     Report this post  
SnkBitten 
Re: Amithlon - Complete install guides and patches/info
Posted on 27-Apr-2018 11:31:16
#34 ]
Member
Joined: 11-Apr-2018
Posts: 40
From: SC, US

@intangybles

Not very promising. With 1 GB or less ram it would most likely run but you'd have unaccelerated graphics and possibly/probably no network connectivity (I don't see a mention of what wired network chipset it uses).

The graphics being unaccelerated isn't a big deal but it still is a very noticeable difference and definitely makes Amithlon feel much slower than it can be. Screen scrolling, moving windows around, etc.. are so much slower compared to an accelerated graphics setup.

These are the only two I have confirmation of with accelerated graphics and audio/usb functioning. The first also has onboard network working.

Dell C640 Intel
Pentium M (2.4 Ghz)
(kernel 3.10)
Chipset - Intel 845MP
Graphics - ATI Mobility Radeon 7500
Onboard USB
Onboard Audio
Onboard NIC


IBM Thinkpad T42 (model 2373) Intel
Pentium Centrino (1.7 Ghz)
(kernel 3.10)
Chipset - Intel 855PM
Graphics - ATI Mobility Radeon 7500
Onboard USB
Onboard Audio

 Status: Offline
Profile     Report this post  
Hypex 
Re: Amithlon - Complete install guides and patches/info
Posted on 27-Apr-2018 18:05:42
#35 ]
Elite Member
Joined: 6-May-2007
Posts: 9247
From: Greensborough, Australia

@Wumpus

Quote:
You can fix the DOS MKBADDR macro for any new software, but anything built with the old macro will still be using a signed shift.


Just checked the NDK 3.9 includes and it's still there. Why a signed macro was there in the first place I cannot fathom but a C LONG isn't as obviously wrong as an ASR would be in assembly. Of course BCPL addresses were not a good idea either, causing slowdowns, when a direct aligned pointer should have been used. But I think MKBADDR says it all, it's making BAD address.

Quote:
AllocEntry() uses bit 31 to indicate failure, so any at or above 2GB would look like they failed.


That's the one. Don't know why they didn't use a zero. Didn't they already learn from the Mac about the evils of pointer tagging? Although AmigaOS used bit tagging, while MacOS used chunky tagging.

Quote:
MakeLibrary uses the first word in the offsets table to flag absolute or relative offsets so within 0xFFFFxxxx it would be hit and miss and hard to diagnose.


I don't see this as a problem. According to the API absolute pointers are read in until it finds a -1 or 0xFFFFFFFF. And for relative it should be using 32-bit unsigned address math using 16-bit offsets. If I understood it as it wasn't all that clear.

Quote:
There's nothing inherently preventing a 32bit OS with no kernel/user separation from using the full 4GB though, just a few bad decisions that should have been fixed decades ago


I think they've done pretty well despite that. I mean, what real Amiga can take 4GB RAM, anyway? The most I know of is 1GB. But at 4GB there is a point of diminishing returns. Like a 32-bit PC that could only use 3 or 3.5GB a 32-bit Amiga couldn't use the full 4GB anyway. There would still be a limit. Over 2GB for sure but not the full 4GB.

It begs the question, what software needs over 2GB RAM? Yes a web browser does. Multitrack editor?

Quote:
It should have been a minor bump in the road like we had between 1.x, 2.x and 3.x.


Probably yes.

 Status: Offline
Profile     Report this post  
intangybles 
Re: Amithlon - Complete install guides and patches/info
Posted on 30-Apr-2018 0:21:32
#36 ]
Member
Joined: 22-Aug-2017
Posts: 29
From: Brisbane, Australia

@SnkBitten

Thanks for the reply, I should have been more exact on the model, sorry. Rushing to find the little free time available as usual.

Its an R51 (1829EM2)
Pentium M (1.6 Ghz)
Chipset - Intel 855PM
Graphics - ATI Mobility Radeon 7500

Not looked at the exact chips at this time but In my impatience I had a go at install and I got it base installed, not had time to go further yet but Kernel 3.10 seems ok, no trouble partitioning drives Graphics is 1024x768 and 16M colours.. This took several goes at adjusting video and memory settings.

I will let you know how I go from here...

Thanks again..

Last edited by intangybles on 30-Apr-2018 at 03:25 AM.

 Status: Offline
Profile     Report this post  
kolla 
Re: Amithlon - Complete install guides and patches/info
Posted on 30-Apr-2018 11:34:11
#37 ]
Super Member
Joined: 21-Aug-2003
Posts: 1030
From: Trondheim, Norway

Are there still any real advantages in using Amithlon over using for example FS-UAE on Linux?

_________________
B5D6A1D019D5D45BCC56F4782AC220D8B3E2A6CC

 Status: Offline
Profile     Report this post  
SnkBitten 
Re: Amithlon - Complete install guides and patches/info
Posted on 30-Apr-2018 12:42:15
#38 ]
Member
Joined: 11-Apr-2018
Posts: 40
From: SC, US

@kolla

Speed. If you aren't using custom chipset software, Amithlon still outperforms most systems.

Plus keyboard, mouse, graphics all respond faster as there is no emulation layer it has to go through.


 Status: Offline
Profile     Report this post  
olsen 
Re: Amithlon - Complete install guides and patches/info
Posted on 30-Apr-2018 13:09:22
#39 ]
Cult Member
Joined: 15-Aug-2004
Posts: 704
From: Germany

@Wumpus

Quote:

Wumpus wrote:
@Hypex

You can fix the DOS MKBADDR macro for any new software, but anything built with the old macro will still be using a signed shift.

Is this actually an issue? Unless you verify that a BCPL pointer is "sufficiently sound" (the two most significant bits should both be zero), the conversion to an APTR will still yield a valid result.

I use such BPTR tests in software which needs to validate the pointers in the dos.library device nodes and specifically the file system startup message and what's attached to it. This shouldn't fail, and probably doesn't fail because dos.library itself sets up these pointers (through "lsr.l #2,Dx").

Quote:

AllocEntry() uses bit 31 to indicate failure, so any at or above 2GB would look like they failed.

An old wound The amiga.lib/CreateTask code, as well as all the published example code published for accomplishing what CreateTask() did, tested for a NULL result. We found and fixed that bug in 1998, just in time for the 3.9 NDK. Very late (horse, barn door, closed, bolted, etc. a long time ago), but I sure would like to know why AllocEntry() is designed to work like this. Other exec peculiarities which were deemed unsafe for a 32 bit address space were caught earlier, e.g. InitStruct() with 24 bit APTRs.

Quote:

MakeLibrary uses the first word in the offsets table to flag absolute or relative offsets so within 0xFFFFxxxx it would be hit and miss and hard to diagnose.

Ouch, but that might just be fixable, at the expense of a little more memory consumed.

Quote:

There's nothing inherently preventing a 32bit OS with no kernel/user separation from using the full 4GB though, just a few bad decisions that should have been fixed decades ago.

It should have been a minor bump in the road like we had between 1.x, 2.x and 3.x.

In order to fix it, Commodore would have needed an incentive. Those incentives used to come from strategic partners (e.g. Electronic Arts, NewTek) and from "killer applications" which had to be kept limping along, no matter what (e.g. Deluxe Paint).

Just to check if the 32 bit address space is sound you would have had to spend a small fortune to acquire a fully populated memory expansion. Somehow I even doubt that the manufacturers of such gear checked what happened if you installed them in all Zorro III slots.

Had that happened at the time, and more often, we probably would have seen a lot more software stumbling because of 32 bit pointers getting caught up in 32 bit integer arithmetic. That sort of thing did happen, but not at a big scale, if memory serves.

 Status: Offline
Profile     Report this post  
olsen 
Re: Amithlon - Complete install guides and patches/info
Posted on 30-Apr-2018 13:15:05
#40 ]
Cult Member
Joined: 15-Aug-2004
Posts: 704
From: Germany

@Hypex

Quote:

Hypex wrote:
@Wumpus


Quote:
AllocEntry() uses bit 31 to indicate failure, so any at or above 2GB would look like they failed.


That's the one. Don't know why they didn't use a zero. Didn't they already learn from the Mac about the evils of pointer tagging?

They did, by virtue of the 68020 being available in 1984/1985, after Apple had already committed to the humble 68000 and shipped the Macintosh. Amiga, being "late", still had the chance to avoid getting locked into the 24 bit address bus properties (although whoever designed AmigaBASIC didn't get the memo).

The use of InitStruct() with 24 bit APTRs was nipped in the bud, but AllocEntry() somehow got away

 Status: Offline
Profile     Report this post  
Goto page ( Previous Page 1 | 2 | 3 | 4 Next Page )

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright 2000 - 2017 Amigaworld.net.

Amigaworld.net was originally founded by David Doyle