Welcome, Guest. Please login or register.

Author Topic: More Chipram  (Read 7607 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16867
  • Country: gb
  • Thanked: 4 times
    • Show only replies by Karlos
Re: More Chipram
« Reply #134 from previous page: September 08, 2006, 10:37:54 PM »
The 30K of stuff in chip probably isnt code though. It might be some of DPaint's user interface graphics. That and other stuff. I wouldn't be surprised if there were some permanently allocated bits of chip ram for undo buffers and stuff.

Also, looking at your free chip ram isnt the perfect scientific method. Stuff gets temporarily allocated and freed constantly during normal operation. That means your reported figures are subject to a degree of entropy.
int p; // A
 

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 Chipram
« Reply #135 on: September 08, 2006, 10:39:59 PM »
@KThunder
Quote
dpaintIV uses 282k for the bare program. i couldnt find what fast frees up in the manual anywhere.
i ran it bare on my 3000 and checking ram came out with 99.8k used minus 40k for 320x200x32 screen leaves about 60k left in chip of code.

of code? And you can tell this how?

Just because some app uses more chip memory than the display doesn't mean the extra chip is actually used for code. This memory is likely to be used with the custom chips in some other ways.

Quote
i checked ppaint also and it uses some chip beyond the amount used for screen.

You assume that this extra chip usage is somehow rogue, something that could use fast. How can you tell this is the case?
 

Offline Zac67

  • Hero Member
  • *****
  • Join Date: Nov 2004
  • Posts: 2890
    • Show only replies by Zac67
Re: More Chipram
« Reply #136 on: September 08, 2006, 10:56:59 PM »
@KThunder
The MMU style approach can't work in this case, since an MMU can only reuse a (relatively) small amount of memory in a larger amount of address space such that an application believes to see more memory than is present. To do this, the MMU monitors the address generated by the CPU (in this case) and the memory manager is used to move (swap in and out) the physical memory to the logical location where it's needed. (Obviously the data has to be stored in an adequately sized but probably slower location, i.e. a hard disc.)

It's very important that logical address space is greater than physical memory. This whole idea with enlarging chipmem tries to operate an amount of physical memory inside a logical address space (=everything the unit in question can address, in the case of Agnus/Alice = 2 MB) that is actually smaller - this is just the opposite and is not possible. Furthermore, paging data in and out requires time, which very clearly violates the realtime requirements needed for producing graphics output, sound and floppy data transfer.

Try to envision the good ol' 6502 CPU of the C64, VIC20 et al. It's got a 16 bit address bus and can see 64K of memory. There's no way it could see more, its world has a size of 65536 bytes. The only way to access more is to use a scheme of bank switching (which the C64 actually does) where the same location in memory is used to window different sets of data. Now, this obviously requires clever programming to ensure that the application always sees the data it's expecting. The only one able to tell which data is needed is the app itself, so it must have provisions to switch the banked data.
Back to the Amiga, the chipset (representing the application) lacks any capability of telling any added (and arbitrarily clever) hardware which bank it wants to see right now. So banking is not a solution.

In theory, it's of course possible to build some hardware that simply knows which address location/bank the chipset wants to access because it knows Agnus' inner workings and foresees which memory locations are really needed. However, this hardware must be able to simulate the complete chipset to actually make this forecast, so its obviously more complex than the chipset itself - and harder to design.

The only solution to this problem is to completely redesign Agnus/Alice, enlarge the address registers and add the required address lines (towards the CPU bridge and towards RAM). Patching the OS to recognize/utilize the larger space is close to trivial.
Because the Agnus/Alice chip not only houses the registers, address generators but also blitter, copper, RAM controller, DMA arbitration engine, etc. a redesign from scratch for a pin compatible chip is a tall task, most of today's logic isn't even signal compatible to the old chips!
 

Offline KThunder

  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 1509
    • Show only replies by KThunder
Re: More Chipram
« Reply #137 on: September 08, 2006, 11:00:09 PM »
regardless of what goes were etc. i think weve kilt this one dead. i tried to figure the ram usage best as i could with lots of different program settings and screen settings but you are right its tough to nail down.


 :horse:
thanks for your help quys i think im done with this thread hope i didnt piss anybody off too much i do respect you guys and you knowledge of the hardware.

except thomas, i hope i pissed him off real good  :-D

kidding
Oh yeah?!?
Well your stupid bit is set,
and its read only!
(my best geek putdown)
 

Offline recidivist

  • Hero Member
  • *****
  • Join Date: Aug 2006
  • Posts: 567
    • Show only replies by recidivist
Re: More Chipram
« Reply #138 on: September 09, 2006, 01:31:52 AM »
 I's obvious that a hardware UAE is what we want!It should do everything the classic Amiga did,only more and better,and be way cheaper.

 Now I think I'll work on something simpler like an exchange program between Mediteranean and Nordic Hells so the occupants have a chance to cool off or warm up!
 

Offline Zac67

  • Hero Member
  • *****
  • Join Date: Nov 2004
  • Posts: 2890
    • Show only replies by Zac67
Re: More Chipram
« Reply #139 on: September 09, 2006, 09:15:57 AM »
The 'hardware UAE' you're talking about is pretty much the Minimig Dennis is working on - he remodels the functions of ECS, but without chipset level compatibility. He stated he used UAE as a source for detail knowledge, so that kind of makes Minimig a 'hardware UAE'. Let's wait for him to finish.
:popcorn:
 

Offline patrik

Re: More Chipram
« Reply #140 on: September 09, 2006, 01:59:07 PM »
@KThunder:

If your main problem is that you have to little chipmem to use DPaint, then replace it with Brilliance (last version is 2.0), which uses chipmem in a more intelligent way, and instead uses a lot of fastmem for buffers, animations, undo-levels etc, when possible.

You will not miss DPaint, Brilliance is a much better paint package in all aspects. The only thing it lacks in comparison is reputation, as it was released so late in the Amigas commercial life.


/Patrik
 

Offline KThunder

  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 1509
    • Show only replies by KThunder
Re: More Chipram
« Reply #141 on: September 09, 2006, 02:38:19 PM »
i said i was done with this thread but ill make one more post since yours was directed at me.

i dont have a problem with chip ram, i never have. i run dpaint for its animation features. i use ppaint, and xipaint for paint stuff since they work well with my video card.
Oh yeah?!?
Well your stupid bit is set,
and its read only!
(my best geek putdown)