Welcome, Guest. Please login or register.

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

Description:

0 Members and 1 Guest are viewing this topic.

Offline motorollin

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
Re: more RAM , how?
« Reply #29 from previous page: May 11, 2006, 09:54:31 AM »
Quote
HellCoder wrote:
Perhaps you could say,.. Paula has map one, and Denise map two giving them both 2 MB each ?

That would seem to be cleaner. Is it only Paula and Denise who address chipmem?

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline HellCoder

  • Sr. Member
  • ****
  • Join Date: Jun 2004
  • Posts: 279
    • Show only replies by HellCoder
    • http://elasticore.nl
Re: more RAM , how?
« Reply #30 on: May 11, 2006, 10:14:06 AM »
No, I'm sure there are more chips accessing chip-mem. The Kickstart rom perhaps. Maybe this can be solved by having a small part of the 2MB setup as 'shared' memory and accessible in all memory maps. Interrupt lines and stuff should also be taken care of I think.

I think it would be alot easier if you have fast-mem too so you can have the stack pointer there. :)
 
 

Offline motorollin

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
Re: more RAM , how?
« Reply #31 on: May 11, 2006, 10:45:43 AM »
So who's gonna build this thing then? I want 128MB of chipmem :-)

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline HellCoder

  • Sr. Member
  • ****
  • Join Date: Jun 2004
  • Posts: 279
    • Show only replies by HellCoder
    • http://elasticore.nl
Re: more RAM , how?
« Reply #32 on: May 11, 2006, 11:23:29 AM »
Would all that effort be any worth ?
Although I'm still sad such a thing was never made, now it's too late I think. :(
 

Offline motorollin

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
Re: more RAM , how?
« Reply #33 on: May 11, 2006, 11:44:41 AM »
Because it's there :-)

Also, there are still some games which need 2MB of chipmem, so have to be run with no startup-sequence.

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

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: more RAM , how?
« Reply #34 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 HellCoder

  • Sr. Member
  • ****
  • Join Date: Jun 2004
  • Posts: 279
    • Show only replies by HellCoder
    • http://elasticore.nl
Re: more RAM , how?
« Reply #35 on: May 11, 2006, 12:23:33 PM »
Uuh..
Both Denise and Paula have a hardware line indicating if they have a connection to the databus. (tri-state) Only one at a time can have access. If you would feed this line to a hardware working memory map switchbox you could seperate memory for Paula and Denise without any slowdown. The only problem would be if Paula and Denise communicate with each other through a memory.

Although I'm no expert.

 

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: more RAM , how?
« Reply #36 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 motorollin

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
Re: more RAM , how?
« Reply #37 on: May 11, 2006, 12:45:02 PM »
Quote
Piru wrote:
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.

That's kind of what I was getting at when I said:

Quote
motorollin wrote:
If the custom chips are addressing the same memory range no matter what bank was being used, how would the controller know which bank the required page is on?


Quote
Piru wrote:
Forget it.

Forgotten :-)

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline HellCoder

  • Sr. Member
  • ****
  • Join Date: Jun 2004
  • Posts: 279
    • Show only replies by HellCoder
    • http://elasticore.nl
Re: more RAM , how?
« Reply #38 on: May 11, 2006, 12:57:19 PM »
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

I think it would be possible with some extensive work but not worth the effort.
 

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: more RAM , how?
« Reply #39 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.
 

Offline HellCoder

  • Sr. Member
  • ****
  • Join Date: Jun 2004
  • Posts: 279
    • Show only replies by HellCoder
    • http://elasticore.nl
Re: more RAM , how?
« Reply #40 on: May 11, 2006, 07:04:28 PM »
No, not exactly.
What you need to do is tweak the allocmem function too. You would have to indicate whether it is meant for Paula or Denise. Allocating memory for Paula would activate memory bank 2. Allocating memory for Graphics would activate bank 1. If you would then play a sample located within the 2MB range Paula will be activated when it wants to (DMA). The activation of Paula can be detected by looking at the hardware lines (tri-state, enable line). If this happens the memory bank would switch to the 2MB chips for Paula (sound) (bank 2)

So both sound and graphics are located from location $000000 to $001fffff (2MB?) but in different chips.

But then again, the effort isn't worth it.