pmy@boole.acc.virginia.edu (Pete Yadlowsky) (01/06/88)
Hi all - I recently installed a Spirit Technologies RAM board (1.5M + clock) in my A1000. I liked the idea of bringing my favorite computer up to 2M without hanging a box off the side. Anyway, I have a vague recollection of someone here warning of some possible drawbacks to this type of memory...something about memory at $C00000? The reason I'm asking is that my Amiga has been behaving a bit oddly. I've been working on a multi-tasked MIDI application (a sequencer) which spawns a "clock" task, which uses timer.device in a loop to generate clock "ticks". These ticks are then passed as MIDI timing messages to any task that may request them. All of this seemed to be working...the clock was ticking...sequences were being recorded (from serial.device via MIDI interface)...and being played back... BUT, every once in a while, some file currently in RAM: would somehow wind up corrupted. "Hmmm...", said I. Then, I added an Intuition window and a console device to the main program, so I could use both keyboard and mouse as control inputs. Now, sometimes the program works, and sometimes it hangs. The guru's incantation is "00000004 00(some address in $C00000 block)". I've found the exact source statement at which the program dies, but there's nothing in it that should cause such behaviour (yeah, right...it's a subroutine call, BTW, but one that is called successfully elsewhere). I've carefully checked all memory allocations (and de-allocations), tried upping the stack, made sure I'm AddTask'ing correctly...nothing... I've run diagnostics on the expansion RAM, and they look just rosey. Of course, the problem may have nothing to do with memory. Also, the subroutine mentioned above is part of a .library for which I don't have source. Well, without boring you with too many unfathomable details...any ideas? -- Pete Yadlowsky Academic Computing Center University of Virginia e-mail: pmy@vivaldi.acc.virginia.EDU
joe@ut-sally.UUCP (Joe Hitchens) (01/07/88)
In article <378@boole.acc.virginia.edu> pmy@boole.acc.virginia.edu (Pete Yadlowsky) writes: >Hi all - > >I recently installed a Spirit Technologies RAM board (1.5M + clock) in >my A1000... > >The reason I'm asking is that my Amiga has been behaving a bit oddly. >... > >Well, without boring you with too many unfathomable details...any ideas? >-- >Pete Yadlowsky >Academic Computing Center >University of Virginia >e-mail: pmy@vivaldi.acc.virginia.EDU One thing you my want to be aware of: I have this exact same board. And had some trouble at first, like strange Guru's for no discernable reason. Then I noticed that where I should have had close to 2 Meg of free ram when first booting up, I only had about 1.5 total. (1.5M + 512K chip). Well this seemed strange that I should have what looked like exactly .5M too little Fast ram. Then I remembered the business in the Docs about those 3 little jumpers that would allow you to set up for .5, 1.0 or 1.5 Meg by different combinations of jumpers on/off. And I also recalled the METAL SHIELDING that goes right on top of that board with the TALL jumper pins sticking up! (You can see where this is going, can't you). Anyway, naturally, I took the thing apart and put a piece of formica on top of the pins where the metal shielding came down on them and put it back together. Bingo, 1.5 Meg Fast ram. You might want to try this. j.h. (You, it bugs me that they didn't even mention the possibly that this could happen. Especially when it seemed so overwhelmingly likely?)
barsh@stsci.EDU (John Barshinger) (01/07/88)
I also have a spirit 1.5 MB board internal board, I haven't run into any similar problems so I can't answer your question, However I would like to pose another one. I've had my 1.5MB board for about six months approx. All of the sudden out of the blue, I get the error "Clock not found" when executing Spirit.readclock. Anybody know what's wrong? My battery can be dead already, can it? They say it should last ~17 years depending on the weather... thanx in advance, jrbii ~~~~~ -- John Barshinger Space Telescope Science Institute Baltimore, MD 21218 plink:jrbii | bix:jrbii | barsh@stsci.edu
bryce@hoser.berkeley.edu (Bryce Nesbitt) (01/07/88)
In article <> pmy@boole.acc.virginia.edu (Pete Yadlowsky) writes: > >I recently installed a Spirit Technologies RAM board (1.5M + clock) in >my A1000.... Anyway, I have a vague recollection >of someone here warning of some possible drawbacks to this type of >memory...something about memory at $C00000? There are three Kickstart bugs dealing with $C00000 memory. I believe this is a complete list: 1> On a "recoverable" alert the system thinks that execbase is corrupt. It thus wipes all of $C00000 to zero, destroying any recoverable ram disk in the process. This can be fixed by changing a $00FF0001 to ($C00276 OR $00000676) EOR $FFFFFF) early in the Alert() routine. This bug affects only users, not programs. I'm told that it was not fixed in Kickstart V1.21. Programmers can work arround the bug by using DisplayAlert(). Users can get a program Andy Finkel wrote called "SetAlert". This was posted to comp.sys.amiga eons ago. Perhaphs the comp.binaries archives have a copy. 2> On a COLD boot, or a boot after the system has detected exec corruption, the system sizes $C00000 memory. This process in done in a manner that destroys one word of memory every 256K. A slightly more clever test could eliminate the need to write within the $C00000 range. 3> After the "one word every 256K test" the system wipes all of $C00000 memory to zero. This means you will never see the effect of "one word every 256K"... if that happens you memory will also be wiped to zero. The first is a bug. The second two affect recoverable ram disks. My Kickstart fixes these bugs, naturally. (I have a Spirit also). I will not distribute this Kickstart until after the Transactor for Amiga article on the subject breaks. The $C00000 memory is desirable in some ways on the Amiga. It frees chip memory and speeds up operation of the machine during heavy chip use. execbase, gfxbase and the supervisor stack all end up in chip unless $C00000 is present. Interrupt latency is a lot less with fast $C00000 memory (says the person working on serial handlers). Exec could be re-coded to swap the supervisor stack into normal autoconfig memory after expansion. This would obviously sell more Amigas :-). >The reason I'm asking is that my Amiga has been behaving a bit oddly... >BUT, every once in a while, some file currently in RAM: would somehow >wind up corrupted. "Hmmm...", said I. TEST your program on another Amiga. If it stands up to repeated bashing on that machine, send your Spirit back for a refund. They create $C00000 memory via a method SPECIFICALLY FORBIDDEN by Commodore. It can be flakey. (The method is pulling *OVR with an A series PAL. No qualification with *AS... adding that within the PAL makes things much worse.) |\ /| . Ack! (NAK, SOH, EOT) {o O} . bryce@hoser.berkeley.EDU -or- ucbvax!hoser!bryce (or try "cogsci") (") U "Your theory is crazy... but not crazy enought to be true." -Niels Bohr
pmy@boole.acc.virginia.edu (Pete Yadlowsky) (01/07/88)
In article <181@stsci>, barsh@stsci.EDU (John Barshinger) writes: > > I've had my [Spirit] 1.5MB board for about six months approx. All of the > sudden out of the blue, I get the error "Clock not found" when > executing Spirit.readclock. Anybody know what's wrong? My > battery can be dead already, can it? They say it should last > ~17 years depending on the weather... Yep, I've seen that one, too. I tried re-booting a couple of times, then I ran setclock. The problem went away. Hasn't come back. So, setclock'll fix it, but that doesn't explain anything. Weird. -- Pete Yadlowsky Academic Computing Center University of Virginia e-mail: pmy@vivaldi.acc.virginia.EDU
bryce@hoser.berkeley.edu (Bryce Nesbitt) (01/08/88)
In article <382@boole.acc.virginia.edu> pmy@boole.acc.virginia.edu (Pete Yadlowsky) writes: > > I've had my [Spirit] 1.5MB board for about six months approx. All of the > sudden out of the blue, I get the error "Clock not found" when > executing Spirit.readclock. Anybody know what's wrong? Some program crashed, and wrote randomly to memory. It hit the "KickStart" bit in the clock (no, really, that's the name!). The Kickstart bit turned the clock off. You need to "setclock". This will re-kick the oscilator into life. If it does not say something to the effect of "resetting clock... please wait 2 seconds" then get the new disk from Spirit. Betcha did'nt know your A1000 now has TWO Kickstart disks :-). (You might also want them to fix the board... it can be flakey) ** This chip is an Thomson/Mostek Zeropower RAM w/clock. Ram, battery, crystal all in one package. Anyone ever though of a use for 2040 bytes of battery-backed ram on the Amiga? (assuming you need to run a disk program to read it?) |\ /| . Ack! (NAK, SOH, EOT) {o O} . bryce@hoser.berkeley.EDU -or- ucbvax!hoser!bryce (or try "cogsci") (") U "Your theory is crazy... but not crazy enought to be true." -Niels Bohr
joe@ut-sally.UUCP (Joe Hitchens) (01/09/88)
In article <22454@ucbvax.BERKELEY.EDU> bryce@hoser.berkeley.edu (Bryce Nesbitt) writes: > >** This chip is an Thomson/Mostek Zeropower RAM w/clock. Ram, battery, >crystal all in one package. Anyone ever though of a use for 2040 bytes >of battery-backed ram on the Amiga? (assuming you need to run a disk >program to read it?) > I thought of something, but haven't done it yet. I was making a nice little 24 hour alarm clock when I thought of a neat use for that ram. I could make the alarm clock remember an alarm time way in the future, like at 0:00 on Jan. 1, 2000, by storing it in that RAM. Or more than one, say an alarm that poped up a window every year on your birthday, or like that. And if you didn't have the Spirit Clock, you could make the 24hr alarm check for a recognizable/unlikely-random code in that ram space, if it isn't there, it is just a 24 hour alarm clock. Another idea I had was to put KickStart in ROM after modifying it to run a piece of code that asks for a password you have held in the clock ram. (and of course refuse to continue booting unless you get it right). j.h.
bobb@tekfdi.TEK.COM (Robert Bales) (01/11/88)
In article <10029@ut-sally.UUCP> joe@ut-sally.UUCP (Joe Hitchens) writes: >>Anyone ever though of a use for 2040 bytes of battery-backed ram on the >>Amiga? (assuming you need to run a disk program to read it?) >Another idea I had was to put KickStart in ROM after modifying it to run >a piece of code that asks for a password you have held in the clock ram. >(and of course refuse to continue booting unless you get it right). Be sure to checksum the password so that if (when) the battery dies, the machine doesn't expect the random (to you) contents of memory as a password, before it lets you do anything (including reinstalling the password). You could be guessing for a long time. . . . Bob Bales Tektronix, Inc. I help Tektronix make their instruments. They don't help me make my opinions.