[comp.sys.amiga] Chip ram

richard@gryphon.CTS.COM (Richard Sexton) (10/08/87)

Here's another one of those stupid "A modest proposal" ideas.

Make the area of main memory under control of the custom chips
(chip RAM) be under software control.

Consider. First we had 1/2 M. Now it looks as though we can
all upgrade to 1 M of chip RAM, with the 'next' machine having
4M.

Well, in some cases, you might want ALL of memory to be chip RAM,
while in others you might want just the bare minimum.

How about making it software selectable ?

If this is pysically impossible, put on your best Emily Lattela
voice and go "never minnnd".

-- 
Richard J. Sexton
INTERNET:     richard@gryphon.CTS.COM
UUCP:         {hplabs!hp-sdd, sdcsvax, ihnp4, nosc}!crash!gryphon!richard

"It's too dark to put the keys in my ignition..."

kent@xanth.UUCP (Kent Paul Dolan) (10/10/87)

A while back, we were being told that, because the address pins for
chip ram addressers were time multiplexed, adding one wire (pin?) took
us from 0.5 meg to 2 meg of chip ram, and that there "wasn't" an
intermediate 1 meg position.  Two meg is a comfortable amount of chip
ram for the current screen resolution and depth; 1 meg is still pretty
skimpy, especially considering that it is shared with sound info and
disk decoding buffer space.

Now we're being told that 1 meg is the answer, and that two meg can't
be attained for technical reasons.  What gives?

Did someone finally find a way to split a pin in half?  ;-)

Kent, the man from xanth.

dca@toylnd.UUCP (David C. Albrecht) (10/13/87)

> Here's another one of those stupid "A modest proposal" ideas.
> 
> Make the area of main memory under control of the custom chips
> (chip RAM) be under software control.
> 
> How about making it software selectable ?
> 
> If this is pysically impossible, put on your best Emily Lattela
> voice and go "never minnnd".
> 
Physically, it is not possible.  Well, probably possible but not
without a good deal of major nastiness that would hardly make it worth it.
What makes CHIP vs. FAST memory attractive is that the two reside on a
different bus so that they don't interfere.  If the memory was to be
switchable you would have to run the lines for both busses to some point
where the memory could get to it and then tri-state back and forth to
the appropriate set.  The amount of board real estate required by this
and/or expansion bus pins required would be sizable.  We are talking about
22 address pins & 8 data pins and the logic for 30 some tri-state buffers plus
selection logic.  It would unquestionable increase
the system cost and complexity with debatable benefit.  Even if the
physical aspects weren't tricky the software managment aspects would be.
When does it get switched, who gets to switch it, how?  If it was changeable
by the task then two tasks with different needs could play tug-o-war on
your chip ram.  Once something was allocated into chip ram you couldn't then
switch the size if it affected any allocated areas.  Once something was
allocated into fast ram you would have a similar problem but not nearly
so nasty (considering the 500 & 2000 already have the half-fast problem).
Having to reboot the system to change configurations would be quite
unattractive.  I think if it comes to that we are better off having the
CHIP ram expandable by adding internal SIPs of ram on the motherboard
and non-CHIP ram expandable in the usual expansion board fashion and
you pays you money and you takes your choice.

David Albrecht

grr@cbmvax.UUCP (George Robbins) (10/19/87)

In article <2719@xanth.UUCP> kent@xanth.UUCP (Kent Paul Dolan) writes:
> 
> A while back, we were being told that, because the address pins for
> chip ram addressers were time multiplexed, adding one wire (pin?) took
> us from 0.5 meg to 2 meg of chip ram, and that there "wasn't" an
> intermediate 1 meg position.  Two meg is a comfortable amount of chip
> ram for the current screen resolution and depth; 1 meg is still pretty
> skimpy, especially considering that it is shared with sound info and
> disk decoding buffer space.
> 
> Now we're being told that 1 meg is the answer, and that two meg can't
> be attained for technical reasons.  What gives?
> 
> Did someone finally find a way to split a pin in half?  ;-)

The Fat Agnus chip used in the A500 and now the A2000 can only internally
address 512K of chip memory, however the processor side access supports
this 512K plus an additional 512K for external expansion.  The actual
outputs are 9 multiplexed address pins and one RAS line for each of the
two 256K*16bit banks of DRAM's.  To provide addressing for 2MB of "chip"
memory would require yet another address input and either external
decoding of the RAS signals (timing problems) or the use of 1MB chips
(big cost problems) or more pins for RAS lines (packaging problem).
Anyhow, the motherboards in the A500 and A2000 are wired up to support
Fat Agnus and a total of 1MB internal RAM plus whatever you want in the
way of external RAM.

-- 
George Robbins - now working for,	uucp: {ihnp4|rutgers|allegra}!cbmvax!grr
but no way officially representing	arpa: out to lunch...
Commodore, Engineering Department	fone: 215-431-9255 (only by moonlite)

kent@xanth.UUCP (Kent Paul Dolan) (10/20/87)

In article <2537@cbmvax.UUCP> grr@cbmvax.UUCP (George Robbins) writes:
>In article <2719@xanth.UUCP> kent@xanth.UUCP (I wrote:)
>>
>> [stuff you already saw, omitted, except for a bit of context - it wasn't
>> THAT brilliant a posting!]
>>
>> Now we're being told that 1 meg is the answer, and that two meg can't
>> be attained for technical reasons.  What gives?
>> 
>[George answers:  (Thanks, George!  Love ALL you Amiga net reps!)]
>The Fat Agnus chip used in the A500 and now the A2000 can only internally
>address 512K of chip memory, however the processor side access supports
>this 512K plus an additional 512K for external expansion.  The actual
>outputs are 9 multiplexed address pins and one RAS line for each of the
>two 256K*16bit banks of DRAM's.  To provide addressing for 2MB of "chip"
>memory would require yet another address input and either external
>decoding of the RAS signals (timing problems) or the use of 1MB chips
>(big cost problems) or more pins for RAS lines (packaging problem).
>Anyhow, the motherboards in the A500 and A2000 are wired up to support
>Fat Agnus and a total of 1MB internal RAM plus whatever you want in the
>way of external RAM.

1) This sounds like CHIP ram is getting better, still at 512K, but
internal memory is bigger.  That I think we knew already.

2) This almost sounds like a bit of hope for making CHIP ram bigger;
If I felt like springing for 1 meg chips (I've never figured out why
this should work, plugging one size chip in place of another; pure
black magic to me) "no matter what the cost", does the A2000 now, or
could it with a reasonably cheap upgrade, allow for more CHIP ram?
After the recent notes on the price of 1K x 1K color monitors, I have
to admit I'm not yet in the market for one of them.  On the other
hand, a little deeper color lookup table (state of the art last time I
bought a high end terminal was 11 bits, is it twelve yet?) (nine bits
would be SO GREAT!) and, more important, room for more screens and
windows, seem to be within reach (am I right?) without more than a
little speed up of the system clock, if the graphics chips can support
it.  So, George, does your note mean that _I_ can increase my chip ram
(presuming I take advantage of the A2000 offer instead of diving right
up into a falling stock market - whew - what a day!  You know what the
PEs look like NOW!?!  Haven't seen the paper after today, of course,
but as of Friday's, Commodore was going up in a down market - news
about the rapidly emptying shelves in the stores must have leaked out
- who snitched?  ;-) Way to go guys!), or that you COULD?  In either
case, I'm interested.  Graphics is my life!

Kent, the (totally weird) man from xanth.

Running for president on a pound of caffine, an ounce of sense, and a
program of increased exploration and exploitation of space.  Support
your (probably non-existant - get busy!) local branch of the Birthright
Party:  "The birthright of mankind is the stars!"

Hey, it's better than dwelling on your stock portfolio; at least here
you've got a chance for a laugh or two. ;-)  Yum!  Eat them plastic
chickens, brethern!  Call me when I'm elected; 'til then, I'm going to
take a nap.

dg2l+@andrew.cmu.edu (Douglas Phillip Ghormley) (03/06/88)

There was a letter printed in a recent AmigaWorld in which some dissatisfied 
customer complained of purchasing a few of the older Electronic Arts games, 
only to find that they wouldn't work with extended ram.  My first question is 
this:  which games won't work?  Does anybody have a convenient list?  
(Specifically, Adventure Construciton, Archon, and Archon II:  Adept.)  
Secondly, running NoFastMem should (should?!  may...) fix the problem, 
correct?  But will that work on the A2000 in which the 1Mbyte comes installed 
and isn't really "extended"?

Thanks,
-Doug Ghormley
 (dg2l+@andrew.cmu.edu)

darin@laic.UUCP (Darin Johnson) (03/07/88)

In article <4WA4qxy00V4E09s0Sb@andrew.cmu.edu>, dg2l+@andrew.cmu.edu (Douglas Phillip Ghormley) writes:
> There was a letter printed in a recent AmigaWorld in which some dissatisfied 
> customer complained of purchasing a few of the older Electronic Arts games, 
> only to find that they wouldn't work with extended ram.  My first question is 
> this:  which games won't work?  Does anybody have a convenient list?  
> (Specifically, Adventure Construciton, Archon, and Archon II:  Adept.)  
> Secondly, running NoFastMem should (should?!  may...) fix the problem, 
> correct?  But will that work on the A2000 in which the 1Mbyte comes installed 
> and isn't really "extended"?

OK, I just finally gave away some of those games that failed miserably
with my 2000.  The biggest problem is that most of the games had their own
specialized bootblock, so that you couldn't put NoFastMem in a startup
sequence.  The list of culprits that I remember are:

  Archon II - sound, graphics ok, pieces don't show up (except as static)
  FireFox - needed 1.1 also...
  Hacker, and some other games by same company

I wish I could remember more, but I have forgotten a lot of the names since
I haven't been able to play them for a long time.
-- 
Darin Johnson (...ucbvax!sun!sunncal!leadsv!laic!darin)
              (...lll-lcc.arpa!leadsv!laic!darin)
	All aboard the DOOMED express!

chiodo@ihlpg.ATT.COM (Chiodo) (03/11/88)

Hi Doug,

	I just went through the same thing with EA and other games, I just
got my 2000 about 2 months ago and finally got the last game to work.

I like to play games on my Amiga and have a fairly large collection.
These tools should about lick the memory problem:

        FIXBOOT.ARC
        NOFASTMEM
        NOMEM
        HACKERFIX.ARC

FIXBOOT.ARC - This is on just about every BBS I have logged onto. This 
will rewrite some of the boot track (so don't use an original) and give
your expansion memory back when rebooted. Fixboot claims to only work on
with Skyfox and Arcticfox but try them on all your non working game
I found about 9 more programs to work.

NOFASTMEM - On the WB1.2 disk as you probably know works only with games
that do not boot into a non-workbench environment. Note however this
program does not work with everything (don't know why).

HACKERFIX.ARC - This will fix hacker I not only does it choke on extra
ram but it has no mouse control either. This program (same author as
fixboot.arc) fixes the second release of hacker I. (the program knows the
releases). Again use a copy. 

NOMEM - This programs was posted to the NET a while ago, I included it
at the end of his message. It needs to be assembled and remember to use
the relocatable option of the assembler.
This program is last resort for me, you run the program and it will 
ask you to insert a disk in drive df0: press the left mouse and the 
machine reboots with NO extra memory. The bad thing is you have to
turn the machine off to get your extra memory back. I am trying to 
make a complementary program (givemebackfastmem :-) ) to reinstall 
the fast mem after reboot. (I do not like turning my machine on and off
alot), but he used all kinds of absolute addresses and they are not 
documented anywhere.

This should fix just about all your games, watch out for new ones 
having the same problem (there are just a few mainly european cheapies).
Yah it's a pain but if you use fixboot then you only have to do it once.







Here the NOMEM messages:

From ihnp4!homxb!mtuxo!mtune!rutgers!ames!ucbcad!ucbvax!DHDURZ1.BITNET!G35 Tue Dec  1 13:22:43 CST 1987
Article 11083 of comp.sys.amiga:
Path: ihlpg!ihnp4!homxb!mtuxo!mtune!rutgers!ames!ucbcad!ucbvax!DHDURZ1.BITNET!G35
>From: G35@DHDURZ1.BITNET
Newsgroups: comp.sys.amiga
Subject: re:NoFastMem
Message-ID: <8711301555.AA25287@jade.berkeley.edu>
Date: 30 Nov 87 16:47:36 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Lines: 57


Someone mentioned that the NoFastMem command doesn't work
if the program you want to start has to be booted i.e. after a reset.
This small assembler program shold solve these problems. Please note:
it works only on 500 and 2000 machines, as it uses direct ROM-calls
and you have to switch off/on to get your fastmem back, cntl-A-A would
have no effect.

I know that this is not the way to code programs on the Amiga, the
program is just a hack, but works fine (for me).

The program is very simple: the startup-code calls a routine which
passes in a4 the length of the $c00000-mem attached. The program
just sets a4 to NULL and jumps into the startup routine.

------------------------ cut here ---------------------------
  move.l   264(a2),a4    ; function = Output()
  moveq    #12,d0        ; every cli-command does this, no idea why
  jsr      (a5)          ; call Dos-function
  move.l   #txt,d2       ; address of text
  move.l   #txtend-txt,d3 ; length of text
  move.l   -24(a2),a4    ; function = Write()
  moveq    #12,d0        ; ???? (as above, seems to be important)
  jsr      (a5)          ; call Dos-function
wait
  btst     #6,$bfe001    ; test left mouse button
  bne      wait          ; wait until pressed

; the next section is copied from the original reset routine
; (reset starts at $fc00d2)
  lea.l    $040000,a7    ; stack-pointer
  lea.l    $dff000,a4    ; startaddress of customchips
  move.w   #$7fff,d0
  move.w   d0,154(a4)    ; disable interrupts
  move.w   d0,156(a4)    ; disable interrupt request
  move.w   d0,150(a4)    ; disable DMA
  move.w   #512,256(a4)  ; bitplane control
  move.w   #0,272(a4)    ; ???
  move.w   #$444,384(a4) ; set color 0 (dark grey)

  ; some registers have to be set to a specified value:
  lea.l    $400,a6       ; a6 = execbase
  suba.w   #$fd8a,a6
  move.l   #0,a4         ; no fast mem
  move.l   #$ffffffff,d6 ; d6 holds the error code, -1= no guru
  jmp      $fc0208       ; reset and boot

text    dc.b 'Insert disk & press left mouse button',10
textend equ  *
-------------------------------------------------------------------

BTW I coudn't download this program to host, i had to type it in, so
there might be a bug somewere, just tell me if doesn't work...

-Werner

Werner Guenther (g35@dhdurz1.bitnet)
Hi,
 	I tried your program to disable any expansion memory on the 500
and 2000, but it gurued on me (00000004.xxxxxx -sorry I'm at work forgot
to write down the address). I read you typed it in from memory and I
assume you got an address wrong. I HATE paying EA for an upgrade to a few 
games I have that will not work on my (soon to arrive) A2000. 

Thanks for the source. Which assembler do you use ? I heard about a new 
one coming out (k-Seka from Kuma) heard anything about it ? I currently
use Quelos assembler, its not specfically for the Amiga but I needed the
closest Motorola Compatable assembler out. Well thanks for the program.

                                        John Chiodo
                                        AT&T Bell Labs
                                        IH 5A-441
                                        (312)979-2863
                                        Naperville, Il.
From uucp Thu Dec 10 23:53 X  1987
>From rutgers!dhdurz1.bitnet!G35  Thu Dec 10 18:52:54 1987 remote from moss
Received: by moss.ATT.COM (smail2.5)
	id AA02312; 10 Dec 87 18:52:54 EST (Thu)
Received: by RUTGERS.EDU (5.54/1.15) 
	id AA08790; Thu, 10 Dec 87 18:50:09 EST
Message-Id: <8712102350.AA08790@RUTGERS.EDU>
Received: from PSUVAX1.BITNET by WISCVM.WISC.EDU ; Thu, 10 Dec 87 17:36:56 CDT
Date: Wed, 09 Dec 87 18:53:50 GMT
To: moss!ihlpg!chiodo
From: rutgers!dhdurz1.bitnet!G35
Subject: RE:NoMem
X-Status: O

Date: 9 December 87, 18:52:44 GMT
From: GUENTHER WERNER                                G35      at DHDURZ1
To:   MOSS!IHLPG!CHIODO at RUTGERS

HI,

 I got you message yesterday, so I took a printout of my posting home
 and typed it in... well, it works !
 So the problem seems to be my/your assembler/linker. I use a very
 old version from MetaComCo (11.??), I don't have your assembler and
 haven't even heard about it, but I don't see why we shound't get the
 program work:
 1) The program has to be invoked from CLI as some of the registers
    are supposed to point to some data field (in this case A2
    should point to the dos-action-table and A5 to the dos-call
    routine)
 2) The program shoud be RELOCATABLE, if your assembler does not,
    you can force relocation. Just substitute any
    move.l  #address,register  (only addresses whithin the program!)
                               by
    lea      #address(PC),An
    move.l    An,register   (only if 'register' isn't 'An' -:)

    (this is only one of the possibilities...)
  PS. Relocation Table is normaly set up by the Linker.... so the
  assembler should produce an object file...
 3) Everything above 'bne wait' might be deleted, as it only prints
    a silly message and waits for left-mouse-button.
    To say the truth the program still works if everything
    including ';some registers have...' is trashed.

 I'm shure I told you a lot of things you already know, but this
 one might be new: the k-seka assembler is very popular here in
 Germany, it's an integrated assembler-editor-debugger package which loads
 up all in one, you dont't have to use CLI or linkers or dissasemblers. The
 only drawback is that I don't own it.
 ok, goobye, hope you get this message, I get usualy lost in nets,portals,
 gateways,uucp,uue etc.,etc...
  -werner

dg2l+@andrew.cmu.edu (Douglas Phillip Ghormley) (03/12/88)

In article <170@laic.UUCP>, darin@laic.UUCP (Darin Johnson) writes:
>In article <4WA4qxy00V4E09s0Sb@andrew.cmu.edu>, dg2l+@andrew.cmu.edu (Douglas
Phillip >Ghormley) writes:
>> There was a letter printed in a recent AmigaWorld in which some dissatisfied
>> customer complained of purchasing a few of the older Electronic Arts games,
>> only to find that they wouldn't work with extended ram.  My first question
is
>> this:  which games won't work?  Does anybody have a convenient list?
>> (Specifically, Adventure Construciton, Archon, and Archon II:  Adept.)
>> Secondly, running NoFastMem should (should?!  may...) fix the problem,
>> correct?  But will that work on the A2000 in which the 1Mbyte comes
installed
>> and isn't really "extended"?

....

>The list of culprits that I remember are:
>  Archon II - sound, graphics ok, pieces don't show up (except as static)
>  FireFox - needed 1.1 also...
>  Hacker, and some other games by same company

Nooooooo!!!!!!!   Please say its not true!!!  Do any of you Amiga-gurus out
there know of any way around this?  Is there *any* way to fill up (or shut off)
the fast RAM and then load the bookblock?  (For instance, IBM's have this neat
command to load the boot strap and run it, so you can stuff a program in high
memory and then essentially boot off a disk--anything comperable on the Amiga?)
 I'm not sure of what all happens inside the Amiga when you boot, but is it
feasable to load and execute the bootblock manually?

Please, please help me!  Please!!  Aaaaaahhhhh!!!!!!

[PANIC mode on....]

-Doug Ghormley
 (dg2l+@andrew.cmu.edu)

["That's funny, I don't remember having amnesia...."  -John Ginsburg]

alex@xicom.UUCP (Alex Laney) (03/25/88)

In article <170@laic.UUCP>, darin@laic.UUCP (Darin Johnson) writes:
> 
> OK, I just finally gave away some of those games that failed miserably
> with my 2000. ...
>  ...       The list of culprits that I remember are:
> 
>   Archon II - sound, graphics ok, pieces don't show up (except as static)
>   FireFox - needed 1.1 also...
>   Hacker, and some other games by same company

    Terrorpods by Psygnosis - keys don't work


    Keep this list growing! -- and add utilities too. And maybe the moderators
    of source could keep a copy! This type of discussion pops up every few
    months.

-- 
Alex Laney   alex@xicom.UUCP   ...utzoo!dciem!nrcaer!xios!xicom!alex
Xicom Technologies, 205-1545 Carling Av., Ottawa, Ontario, Canada
We may have written the SNA software you use.
The opinions are my own.

clee@td2cad.intel.com (Master Of Darkness) (03/05/90)

	I just upgraded my 2000 with an extra 2 megs of memory.  What I
would like to know is, what I would need to do in order to get 1 meg of
Chip Ram instead of the 512K that I have right now.


          Cecil Lee
          Intel Corporation
USnail  : 2250 Mission College Blvd; Santa Clara, Ca.  95052-8125

CLee@SC9.INTEL.COM or CLee%SC9%SC.INTEL.COM@RELAY.CS.NET

UUCP : {pur-ee,qantel,amdcad,oliveb,decwrl,hplabs}!intelca!mipos3!sc9!clee

                      The Mister God doesn't play dice.
                                                       - Albert Einstein

            ... but sometimes ze liddle praktikal jokes, ja hein?

jet@tramp.tmc.edu (j. eric townsend) (03/28/90)

In article <5468@sugar.hackercorp.com> karl@sugar.hackercorp.com (Karl Lehenbauer) writes:
>The new custom chips supporting a meg of chip RAM are out, and new versions
>that support several new graphics modes are forthcoming.

Sidetracked question:

If I go from a 1Mb A2000 w/ thin-agnus to fat-agnus, do I have a
1.5Mb machine, or do I have a 1Mb machine with all the ram as part
of the agnus?

--
J. Eric Townsend
University of Houston Dept. of Mathematics
jet@karazm.math.uh.edu
Skate UNIX(tm).