View Single Post
Old 15 February 2003, 19:19   #13
trodas
old Amiga fanatic
trodas's Avatar
 
Join Date: Feb 2003
Location: Czech republic
Age: 42
Posts: 92
Send a message via ICQ to trodas Send a message via AIM to trodas Send a message via MSN to trodas Send a message via Skype™ to trodas
Memory and allocations...

twilen@sci.fi adress, taken from WinUAE 0.82 r2 or r3?
Now im not so sure, but it did not work, at least at this time and for me.

Hi. This is the qmail-send program at email.seznam.cz.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<twilen@sci.fi>:
195.197.172.102 does not like recipient.
Remote host said: 553 5.3.0 <twilen@sci.fi>... That address is not currently valid.
Giving up on 195.197.172.102.


I know, that EC020 and bellow CPUs cant support more memory, but i supposed that when selecting using more decent CPU (020/030/040) it shoudl allow me more fastram...
The "strange" adress is not that extremly strange, since the expansion RAM card from DKB (i cant remember his name, i barely remembering that there was word power in it, but...) most likely already using adress space like that - after all, it get fitted into the Z3 slot, so...
But its definitively nonstandard and quess, what this can cause...
About JIT - well, altrought i dont looked at the code yet, i supposed that we:
1) can live with adresspsace limited to 2,5G
2) you can, even if it means using mmu to do this trick, chynge the adresstype (at least reported for Amiga side of emulation) to whather one you heart desire

And yes, you worst nightmare come true, there ARE program expection CERTAIN memory allocation and adreses. Its called absulte adressing and even (years ago) we want kill the dudes, who did that, at the time they did it, its was relatively standard way to do thins.
Remember, genique Johny Carmack used self-modify code into Doom engine, done back at 1993

And frankly, im surprised, that you dont know much about adress allocations into real Amiga. You are probably good programator, but you also need to know the basic, on witch Amiga works. One of that was a Zorro3 specification docs, by Dave Haynie, back in 1991 - March 20, Document revision 1.10.
This document very clearly show you, that for fast-ram (expansion ram) are reserved adres space of size 128MB - so, this actually IS a HW limitation!
So, lets started with it:
$00 000 000 - $00 200 000 = Amiga Chip Memory
$00 200 000 - $00 A00 000 = Zorro II Memory Expansion Space
$00 A00 000 - $00 B80 000 = Zorro II I/O Expansion Space
$00 B80 000 - $00 E80 000 = A2000 Motherboard Register Space
$00 E80 000 - $00 F00 000 = Zorro II I/O
$00 F00 000 - $01 000 000 = Motherboard ROM
$00 100 000 - $08 000 000 = A3000 Motherboard Space
$08 000 000 - $10 000 000 = 32-bit Memory Expansion Space
$10 000 000 - $80 000 000 = Zorro III Expansion Space
...so, whats visible from this diagram at Chapter Introduction page 4 (marked as 1-4), there are time to fix and ruin some legends about 4G adressspace. So, lets translate the hexa numbers to "standard human MEgabytes - convert to dec and twice divide it by 1024 do the job, so:
0 - 2 MB = 2MB of Amiga Chip Memory
2 - 10 MB = 8MB of Zorro II Memory Expansion Space
10 - 11.5MB = 1.5MB of Zorro II I/O Expansion Space
11.5 - 14.5MB = 3MB od A2000 Motherboard Register Space
14.5 - 15MB = 0.5MB of Zorro II I/O
15 - 16MB = 1MB of Motherboard ROM
16 - 128MB = 112MB of A3000 Motherboard Space
112 - 256MB = 144MB of 32-bit Memory Expansion Space
256 - 2048 MB = 1792MB of Zorro III Expansion Space

...what means that adressspace is limited to 2G and the Z3 one are actually more close to 1.5Gby that to 4
And also that nothing more that 144MB can any CPU accelerator on A3/4000 CPU slot allow.
Since this space is reserved for 32bit Memory Expension Space.

Tought its possible to use MMU to redirect and map the memory to wheather adress is desired, the limit was set right there. And since even accelerator need some memory for their bios and inicialization (PicassoIV are very conservative, with some features shawed off eat only 128K into Z3 mode, CV3D eat 0.5MB into Z2 mode for registers mapping and itno Z3 thigs turn even worse, so...) - so the 128MB is very close to possible practical limits.

Hope this small lesson dont puzzled you too much and i also hope you can change WinUAE memory allocations to be more-like real Amigas, witch will result into more smooth operation of your WinUAE - a desired goal, is not it?

At least, i have few suggestions - please set fastram priority to +30 like the A3000 using (its wise, +20 is sometimes not enought) and change the bandwitch to 32bites wide - at least to AIBB stop complaining about it.
VBR should be also into fastram, tought
...and even expansion library not must be into chipram

Orginal docs of DaveHaynie you can DL there:
http://www.thule.no/haynie/
...ane the one right there:
www.thule.no/haynie/zorroiii/docs/zorro3.pdf
trodas is offline  
 
Page generated in 0.10100 seconds with 9 queries