Welcome, Guest. Please login or register.

Author Topic: A1200 fast ram above 10MB, where does it go?  (Read 1521 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline srg86Topic starter

  • Full Member
  • ***
  • Join Date: Aug 2004
  • Posts: 211
    • Show only replies by srg86
    • http://www.aopp12.dsl.pipex.com
A1200 fast ram above 10MB, where does it go?
« on: September 08, 2004, 11:59:23 PM »
Looking at the memory maps of both the A1200 and the A3000, there are two similaiaties:

Chip RAM is at: $00000000 - $001FFFFF

FAST RAM, also called Autoconfig/Zorro II expansion space:
$00200000 - $005FFFFF - this is confusing.

This is logical as the A1200 has only a 24-bit address space because of it's EC020 chip, also basically making it a Zorro II machine. Plus AFAIK you can only fit 4MB fast RAM to the A3000 motherboard (please correct me).

Now some differences:

at $00A00000 on the A3000 is IO space but on the A1200 is the RAM that came on a PCMCIA "credit card". If WinUAE is anything to go by, if an A1200 expansion card has 8MB on it then the system Fast RAM ends up in:
$00200000 - $009FFFFF

There is also supposely (according to the RKM but not the functional spec) 16MB of Motherboard fast ram at address $7000000 on the A3000 (one of these must be right).

Anyway, my question is, on an A1200 with an 030/040/060 cpu and more than 10MB total RAM (chip and fast), what happeneds to the memory above 10MB?

Also, on the A3000 front, which is correct, the RKM or teh func spec??? Please could someone with a generousely speced A3000 paste the output of their "ShowConfig" program.

thanks
srg
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: A1200 fast ram above 10MB, where does it go?
« Reply #1 on: September 09, 2004, 12:12:39 AM »
@srg86
Quote

FAST RAM, also called Autoconfig/Zorro II expansion space:
$00200000 - $005FFFFF - this is confusing.

It's actually upto 0x009FFFFF.

Quote
at $00A00000 on the A3000 is IO space but on the A1200 is the RAM that came on a PCMCIA "credit card".

0x00A00000 is PCMCIA attribute memory. Actual RAM of PCMCIA memory card appears at 0x00600000 (upto 4MB).

Quote

If WinUAE is anything to go by, if an A1200 expansion card has 8MB on it then the system Fast RAM ends up in:
$00200000 - $009FFFFF

WinUAE doesn't emulate A3000, thus it cannot be used to determine anything about A3000.

Quote
There is also supposely (according to the RKM but not the functional spec) 16MB of Motherboard fast ram at address $7000000 on the A3000 (one of these must be right).

This is correct.

Quote
Anyway, my question is, on an A1200 with an 030/040/060 cpu and more than 10MB total RAM (chip and fast), what happeneds to the memory above 10MB?

It's mapped to 32bit area (>=0x01000000). The address depends entirely on the expansion card. Even different models map the memory to different addresses (say for example Blizzard 1230-I, 1230-II, 1230-III, 1230-IV).
 

Offline srg86Topic starter

  • Full Member
  • ***
  • Join Date: Aug 2004
  • Posts: 211
    • Show only replies by srg86
    • http://www.aopp12.dsl.pipex.com
Re: A1200 fast ram above 10MB, where does it go?
« Reply #2 on: September 09, 2004, 07:56:23 AM »
IC

Quote

Piru wrote:
@srg86
Quote

FAST RAM, also called Autoconfig/Zorro II expansion space:
$00200000 - $005FFFFF - this is confusing.

It's actually upto 0x009FFFFF.

IC, If the motherboard fast RAM on an A3000 isn't here then what is? (RAM from Zorro II cards perhaps?)

Quote

Piru wrote:
Quote
at $00A00000 on the A3000 is IO space but on the A1200 is the RAM that came on a PCMCIA "credit card".

0x00A00000 is PCMCIA attribute memory. Actual RAM of PCMCIA memory card appears at 0x00600000 (upto 4MB).

Sorry that was a typo :-( , it's as I was expecting.

Quote

Piru wrote:
Quote

If WinUAE is anything to go by, if an A1200 expansion card has 8MB on it then the system Fast RAM ends up in:
$00200000 - $009FFFFF

WinUAE doesn't emulate A3000, thus it cannot be used to determine anything about A3000.

IC, What does WinUAE emulate then, an A4000? Ahh no, I've found out from the home page of UAE that it emulates an Amiga 1000/500/2000. hmm So I was running an AGA equpped A2000 with an 040 cpu but no mmu, oh dear. :-? Actually I think that may explain a lot about what's going on :-( .

Quote

Piru wrote:
Quote
There is also supposely (according to the RKM but not the functional spec) 16MB of Motherboard fast ram at address $7000000 on the A3000 (one of these must be right).

This is correct.

Interesting that the Functional Spec doesn't mention it, it also says that the A3000 only supports 4MB of motherboard mounted fast RAM, it appears to be wrong.

Quote

Piru wrote:
Quote
Anyway, my question is, on an A1200 with an 030/040/060 cpu and more than 10MB total RAM (chip and fast), what happeneds to the memory above 10MB?

It's mapped to 32bit area (>=0x01000000). The address depends entirely on the expansion card. Even different models map the memory to different addresses (say for example Blizzard 1230-I, 1230-II, 1230-III, 1230-IV).

[/quote]
I suppose you find this out by probing the 32-bit area.

thanks for clearing this up.
srg

P.S. People moan that the PC's x86 based archetechture is complex with it's real and protected modes, but compaired to the amiga it's actually quite simple.
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: A1200 fast ram above 10MB, where does it go?
« Reply #3 on: September 09, 2004, 09:15:02 AM »
@srg86
Quote
Quote
WinUAE doesn't emulate A3000, thus it cannot be used to determine anything about A3000.

IC, What does WinUAE emulate then, an A4000?

The basic settings emulate A500 or A2000. Other combinations aren't seen on real Amigas. Memory configuration or processor setup doesn't quite match, AutoConfig nodes are missing etc. Selecting AGA and 68020 gives close to A1200, but that lacks IDE and PCMCIA emulation...

Quote
Quote
It's mapped to 32bit area (>=0x01000000). The address depends entirely on the expansion card. Even different models map the memory to different addresses (say for example Blizzard 1230-I, 1230-II, 1230-III, 1230-IV).

I suppose you find this out by probing the 32-bit area.

No way. If you need to find memory areas you scan SysSase->MemList for memheaders. mh_Lower is the start address of specific memory area.

Quote
P.S. People moan that the PC's x86 based archetechture is complex with it's real and protected modes, but compaired to the amiga it's actually quite simple.

IMO Amiga memory system with AutoConfig(TM) is very clean and simple. PC with all sorts of segments, protected mode, extended memory is not.
 

Offline srg86Topic starter

  • Full Member
  • ***
  • Join Date: Aug 2004
  • Posts: 211
    • Show only replies by srg86
    • http://www.aopp12.dsl.pipex.com
Re: A1200 fast ram above 10MB, where does it go?
« Reply #4 on: September 09, 2004, 10:02:51 AM »
Quote

The basic settings emulate A500 or A2000. Other combinations aren't seen on real Amigas. Memory configuration or processor setup doesn't quite match, AutoConfig nodes are missing etc. Selecting AGA and 68020 gives close to A1200, but that lacks IDE and PCMCIA emulation...

hmm Which means that UAE isn't all that much use for now at least. But at least I won't need to get an A1000/500/2000. It appears I'll have to get a real A3000 and possibly A4000. BTW is the memory locations on the A4000 similar to those on the A3000 (I hope so).

Quote
No way. If you need to find memory areas you scan SysSase->MemList for memheaders. mh_Lower is the start address of specific memory area.

I'll look out for this, otherwise probing shouldn't hurt, but why give myself extra work :-) .

Quote
IMO Amiga memory system with AutoConfig(TM) is very clean and simple. PC with all sorts of segments, protected mode, extended memory is not.

AutoConfig looks great. BTW once in a flat protected mode address space, segments don't mean anything (unless you have one for user and one for supervisor mode). Anyway what I meant was that at least the ram was in one place on all pmode machines after the 1MB mark (I don't bother with conventional RAM). Here fast ram seems to be in one of two or three places depending on what machine your using :-) .

srg
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: A1200 fast ram above 10MB, where does it go?
« Reply #5 on: September 09, 2004, 10:11:01 AM »
@srg86
Quote
probing shouldn't hurt

It does hurt. You get bus error exception if you try to read/write non-existing memory. Don't do it.

32bit memory has higher priority than motherboard memory, so you can use AllocMem or AllocVec to allocate it. You don't need to know where it's located, really.
 

Offline srg86Topic starter

  • Full Member
  • ***
  • Join Date: Aug 2004
  • Posts: 211
    • Show only replies by srg86
    • http://www.aopp12.dsl.pipex.com
Re: A1200 fast ram above 10MB, where does it go?
« Reply #6 on: September 09, 2004, 10:15:08 AM »
Is it just an exception that can be handled or is it like an NMI, very fatal (I am writing my own OS BTW so not using AmigaOS at the time, well that's the plan anyway, this part may use the ROMs in order to load the kernel into memory).

Of course in any other situation a buss error would be fatal, as I bet it would cause a guru!

srg
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: A1200 fast ram above 10MB, where does it go?
« Reply #7 on: September 09, 2004, 10:21:03 AM »
Quote
Is it just an exception that can be handled or is it like an NMI, very fatal

Regular exception.

Quote
(I am writing my own OS BTW so not using AmigaOS at the time, well that's the plan anyway).

Ok, you need to have autoconfig initialization, else expansion cards won't init (unless if you'll run hosted on top of AmigaOS). This might prove tricky, as some systems add 32bit memory manually in the resident initcode. You either need to emulate part of AmigaOS, or have custom initialization code for these special cards.

I suggest you look into linux or bsd source code for inspiration.
 

Offline srg86Topic starter

  • Full Member
  • ***
  • Join Date: Aug 2004
  • Posts: 211
    • Show only replies by srg86
    • http://www.aopp12.dsl.pipex.com
Re: A1200 fast ram above 10MB, where does it go?
« Reply #8 on: September 09, 2004, 10:35:07 AM »
Yeah well that was one thought and I will have a look. Is NetBSD hosted on top of AmigaOS or does it use custom init code for everything? (I was basically planning on doing what NetBSD was anyway).

BTW When you write and then read non-existant memory on the x86, you simply don't get back the value you wrote (I think you get back all zeros, not tried it myself, I use grub).

Another thing, getting a few conflicting bits of information, on non A1000/500/2000 machines, is touching the region at $C00000 - $C7FFFF a no-no (is it mapped to anything?). The RKM says on the A3000 it's expansion memory and on the others - slow ram (internal expansion).

Also, what is the "Coprocessor slot expansion" for? I've heard that some replacement CPU boards had ram on them, is this it?

Any ideas on where I can find the A4000 memory map?

srg

P.S Sorry for the barrage of questions  :-)