Welcome, Guest. Please login or register.

Author Topic: more RAM , how?  (Read 6695 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show all replies
    • http://www.iki.fi/sintonen/
Re: more RAM , how?
« on: May 10, 2006, 02:51:38 PM »
Quote
If you wanted more chipmem, you would have to replace the custom chips with new versions which supported more RAM.

It should perhaps also be pointed out that there is no such custom chips available. 2MB is the chip memory limitation in hardware. WinUAE can have upto 8MB "chip" memory, though.

Oh my peg2 has 1GB of memory ;-)
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show all replies
    • http://www.iki.fi/sintonen/
Re: more RAM , how?
« Reply #1 on: May 11, 2006, 11:56:02 AM »
Such bank switching is not going to work in complex multitasking/multi-custom-chip environment anyway.

You'd end up switching bank for individual memory access cycles.

There are other problems aswell: Software gets pointer to allocated memory (say above 2MB). Software pokes the address of the memory to custom chip register. The problem here is that the higher order bits are just ignored, so the chip (and thus the hw sniffing the address lines) has no way of knowing which bank it should access.

Forget it.
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show all replies
    • http://www.iki.fi/sintonen/
Re: more RAM , how?
« Reply #2 on: May 11, 2006, 12:39:08 PM »
The custom chips can't hold or access any pointer >2MB, so how the heck this is supposed to work?
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show all replies
    • http://www.iki.fi/sintonen/
Re: more RAM , how?
« Reply #3 on: May 11, 2006, 01:14:12 PM »
Quote
The custom chips won't have to access > 2MB, that's the whole point of the memory map. The only thing that would change is the memory itself, but still located at the same memory address.

The only thing that you would do is to switch between maps whenever Paula or Denise has access to the databus / address bus. The switch can be taken from the tri-state of Paula/Denise. This would indicate whether Paula or Denise has access to the datalines

So lets assume I allocate 32KB of chip memory. I get it from address 0x002fc238.

Next I poke in some sample data, and then I write the memory pointer to aud0ptl and aud0pth. Lower 16bits (ptl) is assigned 0xc238, and the upper 16bits (pth) 0x002f. I start DMA.

But instead of playing the sampledata I wrote, the hw actually plays whatever is in chip memory at location 0x000fc238.