English Amiga Board


Go Back   English Amiga Board > Requests > request.Apps

 
 
Thread Tools
Old 15 March 2008, 14:11   #1
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Question Need virtual memory for chip mem.

Hi there,

Does anyone know of a virtual memory system which allows paging chip mem? The idea is to page the chip data to a ramdisk in fast memory. I've tried it with VMM, but that doesn't work (maybe I got it wrong somehow). Also, does anyone know if it's even possible with a Blizzard '030?

Thank you for your time.
Thorham is offline  
Old 15 March 2008, 15:09   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
Impossible. Custom chipset DMA bypasses CPU (and MMU) completely. It would not be "chip RAM" anymore.
Toni Wilen is online now  
Old 15 March 2008, 16:23   #3
Zetr0
Ya' like it Retr0?
 
Zetr0's Avatar
 
Join Date: Jul 2005
Location: United Kingdom
Age: 49
Posts: 9,768
@Toni

What trick do you use to allow WinUAE to have 4mb of chip, and could this be implemented in hardware in some way?
Zetr0 is offline  
Old 15 March 2008, 17:29   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
Quote:
Originally Posted by Zetr0 View Post
@Toni

What trick do you use to allow WinUAE to have 4mb of chip, and could this be implemented in hardware in some way?
There is no trick. Real Agnus only have enough address lines to access 2MB RAM. Only solution is to create new Agnus chip with more address lines and increase size of DMA pointers. There is no other way.

"Virtual" Agnus can do anything you want it to do. DMA from fast RAM? Can do. DMA via MMU. Can do. "Only" need some programming
Toni Wilen is online now  
Old 15 March 2008, 18:44   #5
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Quote:
Originally Posted by Toni Wilen View Post
Impossible. Custom chipset DMA bypasses CPU (and MMU) completely. It would not be "chip RAM" anymore.
Thank you for replying.

I'm still curious though, how can the blizzards '030 bypass it's own mmu? Isn't chip mem simply part of the 4gig address space so that a mmu table can be setup to detect cpu chipmem access? Doesn't all this happen before the chipmem is accessed, or am I missing something completely?
Quote:
Originally Posted by Toni Wilen
There is no trick. Real Agnus only have enough address lines to access 2MB RAM. Only solution is to create new Agnus chip with more address lines and increase size of DMA pointers. There is no other way.
Couldn't it be done by adding some sort of commodore 64 style memory bank switching?
Thorham is offline  
Old 15 March 2008, 19:01   #6
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
Quote:
Originally Posted by Thorham View Post
Thank you for replying.

I'm still curious though, how can the blizzards '030 bypass it's own mmu? Isn't chip mem simply part of the 4gig address space so that a mmu table can be setup to detect cpu chipmem access? Doesn't all this happen before the chipmem is accessed, or am I missing something completely?
CPU memory accesses only. Custom chip/other DMA device accessing chip ram: CPU and MMU bypassed. (DMA = DIRECT memory access )

Quote:
Couldn't it be done by adding some sort of commodore 64 style memory bank switching?
No.
Toni Wilen is online now  
Old 16 March 2008, 08:21   #7
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Quote:
Originally Posted by Toni Wilen
CPU memory accesses only. Custom chip/other DMA device accessing chip ram: CPU and MMU bypassed. (DMA = DIRECT memory access )
Right. I was wondering why it couldn't be done with the cpu! But I hadn't thought of the other chips accessing chipmem. It means software can only page chipmem if it knows when the chip set is going to access it, which is impossible to know from an 'outside' program like vmm. Bah, what a shame

Thanks for explaining
Thorham is offline  
Old 28 March 2008, 15:06   #8
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Sorry to bring this up again, but I just had to say something about the commodore 64 style bank switching.

Electronically this should be quite possible. There should be no reason why it's impossible to put some sort of bank switching hardware between chipmem and the custom chips. This system could then be used in a new os, or an os such as linux, which would have to be modified to use the feature. This system only has one drawback, and it's that the software has to know beforehand that a certain bank is going to be needed. This means it's difficult at best, if not impossible to make AmigaOs use the feature.

Now, I am 99% sure I'm right here So Toni, please don't be so quick to say no, when technically it's probably possible
Thorham is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
AmiDEVcpp: Allocating gfxdata in chip mem tolkien Coders. C/C++ 9 22 April 2013 20:21
A600 2 Mb Chip Mem Upgrade (clockport) mikele MarketPlace 7 12 March 2013 07:36
Virtual Memory or Memory Compactor Leandro Jardim support.Apps 2 29 May 2012 23:12
Amiga 500 chip mem Nikolaj_sofus support.Hardware 3 03 September 2010 21:34
Clock port on my A600 chip mem expansion? Frimann support.Hardware 10 18 August 2009 22:07

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 17:40.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.15794 seconds with 13 queries