Amiga.org

Amiga computer related discussion => Amiga Hardware Issues and discussion => Topic started by: freqmax on July 01, 2010, 10:46:32 AM

Title: Expand A500 beyond 16 MB with KS1.3
Post by: freqmax on July 01, 2010, 10:46:32 AM
If RAM is installed above 16 MB (0x0100 0000), and especially at 0x1000 0000 - 0xFF00 0000. Can the Kickstart v1.3 even handle it ..?, what's needed to add the memory to the available allocation pool?

The m68000 CPU will be made to handle it by using a m680000 variant with 32 bit address bus. It should be able to handle 4 GB of RAM.
Title: Re: Expand A500 beyond 16 MB with KS1.3
Post by: Piru on July 01, 2010, 10:49:51 AM
Doesn't A500 completely lack the uppermost 8 addressing signals anyway?

Just swapping the CPU alone won't give you true 32bit addressing.
Title: Re: Expand A500 beyond 16 MB with KS1.3
Post by: freqmax on July 01, 2010, 11:28:49 AM
Ofcourse thats because it would be a complete FPGA implementation.
Title: Re: Expand A500 beyond 16 MB with KS1.3
Post by: Piru on July 01, 2010, 11:46:37 AM
Quote from: freqmax;568364
If RAM is installed above 16 MB (0x0100 0000), and especially at 0x1000 0000 - 0xFF00 0000. Can the Kickstart v1.3 even handle it ..?, what's needed to add the memory to the available allocation pool?
Calling exec/AddMemList is the easy way. The harder way would be to have autoconfig for the memory. But since you're in control of the whole HW anyway, why bother...

Note however that the maximum address you may use is 0x7fffffff. For instance exec/AllocEntry uses negative return code to indicate failure, and thus >= 0x80000000 cannot be used.
Title: Re: Expand A500 beyond 16 MB with KS1.3
Post by: freqmax on July 01, 2010, 01:41:55 PM
Maximum memory in Amiga is 2 GB then ;)
Title: Re: Expand A500 beyond 16 MB with KS1.3
Post by: joekster on July 01, 2010, 03:47:10 PM
I am able to "addmem" on my A500 / csa mega midget racer to give way over 16mb ram under kick 1.3. Below are my memory segments:

2MB chipram
8MB fastram
.5MB CSA-MMR SRAM
8MB CSA-MMR DRAM
Total of 18.5MB
Title: Re: Expand A500 beyond 16 MB with KS1.3
Post by: psxphill on July 01, 2010, 04:16:08 PM
Quote from: Piru;568373
Calling exec/AddMemList is the easy way. The harder way would be to have autoconfig for the memory. But since you're in control of the whole HW anyway, why bother...

Autoconfig allows you to call exec/AddMemList from an autoboot "rom" (the rom would be embedded in the fpga image).
 
All you'd have to do is respond internally to e80000 space until told to shut up, at which point you'd pass on the accesses to the cpu socket.
 
As you're going to have to have local vs motherboard accesses anyway then it's not going to be much extra logic.
 
The alternative is a command in s:startup-sequence, but thats boring.
Title: Re: Expand A500 beyond 16 MB with KS1.3
Post by: Piru on July 01, 2010, 05:04:37 PM
Quote from: psxphill;568421
Autoconfig allows you to call exec/AddMemList from an autoboot "rom" (the rom would be embedded in the fpga image).
 
All you'd have to do is respond internally to e80000 space until told to shut up, at which point you'd pass on the accesses to the cpu socket.
 
As you're going to have to have local vs motherboard accesses anyway then it's not going to be much extra logic.
 
The alternative is a command in s:startup-sequence, but thats boring.

The alternative I was thinking about is actually just executing the AddMemList from regular resident tag. Easier than doing the autoconfig magic, at least if you haven't done it before.
Title: Re: Expand A500 beyond 16 MB with KS1.3
Post by: Zac67 on July 01, 2010, 06:57:47 PM
Quote from: freqmax;568364
If RAM is installed above 16 MB (0x0100 0000), and especially at 0x1000 0000 - 0xFF00 0000. Can the Kickstart v1.3 even handle it ..?, what's needed to add the memory to the available allocation pool?

The m68000 CPU will be made to handle it by using a m680000 variant with 32 bit address bus. It should be able to handle 4 GB of RAM.


Kickstart / AmigaOS has no problems handling 32 bit addresses. As Piru mentioned there are bugs/design problems which limit RAM to 2 GB.

To get access to 'extended memory' (>16 MB) you need a CPU with a 32 bit address bus ('020+). You also need to provide a RAM controller to handle the RAM, the bus decoder logic and the RAM chips of course.

Adding the RAM can't be done by AutoConfig since these addresses can only be handled with Zorro III (possibly it can be faked - not sure here - but that would require 2.0+). Without AutoConfig you either need a boot ROM or just AddMem the RAM.
Title: Re: Expand A500 beyond 16 MB with KS1.3
Post by: rkauer on July 03, 2010, 06:31:50 AM
Resuming the whole thing: you can't have more than 1 or 2Mb of chip RAM plus 9.5Mb of FAST RAM on plain 68000 CPU.

 1 or 2Mb pending the Agnus/Alice version (Alice always accept 2Mb), then up to 8Mb of FAST RAM on "normal" way (Zorro-2 autoconfig space) plus up to 1.5Mb using the slow-RAM space.

 Using a full 68020 or better CPU is another huge matter, as they can handle up to 4Gb of address "space". Not the scope of this thread.

BTW: Alice is also beyond this thread's scope, as it is the AGA Agnus equivalent.

 Comparing it to the available pc equivalent of the era: the 8086 CPU only can handle 1Mb of RAM, at the same time the 68000 can handle 16Mb, which, in Amiga terms, means up to 11.5Mb RAM. Not bad! Not bad at all!
Title: Re: Expand A500 beyond 16 MB with KS1.3
Post by: freqmax on July 05, 2010, 12:56:51 PM
With a softcore CPU it's possible to make an plain 68000 CPU with a physical 32 bit address bus.

As for chip RAM, it would be possible to use 1 GB if you want, as the OCS etc.. can be given more address lines in the same way.

Btw, how does KS "know" how much RAM is inside the machine when it coldboots?
Title: Re: Expand A500 beyond 16 MB with KS1.3
Post by: Piru on July 05, 2010, 01:51:18 PM
Quote from: freqmax;569081
how does KS "know" how much RAM is inside the machine when it coldboots?

KS ROM performs a memory test for chip and ranger memory.
Rest is added by autoconfig(TM).
Title: Re: Expand A500 beyond 16 MB with KS1.3
Post by: gertsy on July 05, 2010, 02:07:34 PM
Quote from: rkauer;568728

Goodbye people.

Was an honour and a pleasure to be in your company.

I'll miss you.


Why rkauer, Where u going ?
?
?
We'll miss you too.  Especially if u just disappear one day without a mewl ?  Can PM if you're up to it.

@all Sorry for the momentary hijack...