[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

1469.0. "Virtual drive corrupted?" by NEXUS::D_WHITE (Uncle Dave) Sun Jun 12 1988 07:27

    I have been having trouble with my memory.  If anyone has some ideas
    which might help, I would appreciate it.  Here's the situation:
    
    2-year old Amiga 1000.  I bought a 2 meg Starboard and populated
    it myself with chips made by the semiconductor company I was working
    for at the time.  These chips were not on Microbotic's "approved"
    list, but they are comparable.  I also got the Multifunction card,
    but did NOT get the 68881 for it.  I don't have anything else which
    should affect the memory; there is nothing on the pass-through bus
    of the Starboard.  BTW, I installed the parity chips.
    
    I carefully installed the chips on anti-static material while wearing
    a ground strap.  I made sure that all of the chips were seated
    properly.  Once I had everything installed, I booted up under 1.1
    to run the memory diagnostics that Microbotics provides.  The diags
    showed no problems in the first meg, and 5 problem children in the
    second meg.  Of these 5, 4 were in the bottom 1/2 meg.  I replaced
    all 5 chips.  The error in the top 1/2  half of the second meg went
    away, but the other 4 didn't.  In fact, the diagnostics called out
    the same chips, but different addresses as being bad.
    
    I tried different chips.  By this time, I had gotten very proficient
    at opening and closing the Starboard.  It didn't make any difference,
    though, as the diags still showed problems in that bottom half of
    the second meg.  I pulled the daughterboard off and reconfigured
    the jumpers for 1 meg and everything ran fine.  So, I called
    Microbotics and told them my story.  They told me to send it back
    and they would look at it, since it was still under warranty.  When
    I got it back (a month later), it still had the same problem.  So,
    I decided to go ahead and run with it anyway.
    
    I explained all of the above, because I think it might have something
    to do with the REAL problem I have been having.  I have been trying
    to use the ASDG Recoverable RAM Disk (VD0:).  I have tried 3 different
    copies of the program from 3 different sources and still haven't
    been able to get it working properly.  I have moved all of the files
    to their appropriate places, and modified the Mountlist to configure
    the size I want.  I used the example startup-sequence as a guideline
    and created one for myself.  All of the commands seem to execute
    without error while booting.
    
    Now here's the really WEIRD part.  Once the disk is finished gronking
    through everything, I try to do something really difficult, like
    DIR, and I get a system requestor saying, "Volume ASDG-RAM has a
    READ error"     Retry/Cancel.  I tell it to cancel and I get another
    system requestor saying, "Volume ASDG-RAM is corrupted, use DISKDOCTOR
    to fix it".  Use DISKDOCTOR on a virtual drive?  This doesn't make
    sense.  Occasionally, the system will GURU after this message. 
    Bottom line is that I haven't been able to effectively use the
    additional memory, except for a couple of memory-hog demos.
    
    Does anybody have any thoughts or suggestions?
    
    Dave White
T.RTitleUserPersonal
Name
DateLines
1469.1MTWAIN::MACDONALDWA1OMM Listening 52.525Sun Jun 12 1988 23:192
    Why not upload your MOUNTLIST and STARTUP-SEQUENCE files for starters.
    Also, I assume you have ASDG.VDISK.DEVICE in your DEVS: directory?
1469.2Out of memory?TLE::RMEYERSRandy MeyersMon Jun 13 1988 06:5217
Re: .0

If the system runs out of memory when trying to extend the ASDG ram disk,
the RAM disk will report an I/O error.  Sometimes the error will not occur
when writing to the ram disk, but will occur when you try and read from the
ram disk.

Have you modified the mountlist entry for the ASDG ram disk?  I believe
that the distributed mountlist places the ram disk in CHIP, not fast memory.
Also, did you modify the number of cylinders in the mountlist to be a
reasonable number for the amount of memory that you have.  (The distributed
mountlist is heavily commented, and helps you configure the drive for your
system.)

About your Starboard:  It is unacceptable that it fail diagnostics.  Send
it back to Microbiotics and make them fix it.  Don't delay:  your warranty
will run out.
1469.3diskdoctor works on ram disksSTING::VISSERMon Jun 13 1988 11:588
    Diskdoctor works on ram disks.  I took a random (one time event,
    not otherwise explained) memory hit which resulted in some specks
    on the screen and a read error on the RRD.  I think the washing
    machine on the same power circuit did it.  The doctor fixed the
    RRD (it ran very fast), and moving the windows around cleaned the
    display.
    
    John
1469.4additional information about the problemNEXUS::D_WHITEUncle DaveMon Jun 13 1988 22:02259
In response to requests for additional information,
Here is a verbatim copy of my Mountlist:

/*
**   Copyright 1987 By Perry S. Kivolowitz (ASDG Incorporated) All Rights
**   Reserved to Author. NOT IN THE PUBLIC DOMAIN.
**
**   The contents of this file:
**
**   May not be distributed by any commercial software or hardware vendor.
**   May not be sold under any guise.
**   Must (please) contain this and copyright information above and below.
**
**   Specifically:
**
**   No maker or seller of Amiga  expansion  hardware or software may dis-
**   tribute this  software in  *any* way. No  reseller  of  public domain
**   software may distribute this software either (as this is *NOT* in the
**   public domain).
**
**   The only acceptable means of  distribution is by networks, bbs's, fnf,
**   and by (non-profit) user groups. Distribution MUST BE FREE (except for
**   media costs plus a token amount covering only shipping and handling).
**
**   Your use,  storage  and or duplication  constitutes acceptance of this
**   agreement.
**
**   ASDG Incorporated cannot be liable for  the use or misuse of this pro-
**   duct. 
**
**   If you use this software and wish to  become a registered owner please
**   send $10 to:
**         ASDG Incorporated
**         280 River Rd. Suite 54A
**         Piscataway N.J.
**         08854
**         (201) 540 - 9670
**
**   Can't say there's much material benefit from being a registered owner
**   but you will feel better knowing  that you helped defray the recover-
**   able ram  disk's  development  costs.  Also, we will answer technical
**   questions from registered users only and will  distribute new product
**   news to same.
*/
/*
**   Changing Any MountList Parameters Except As Noted Below Will Cause
**   The Recoverable Ram Disk To Cease To Function.
*/
/*
**   IF YOU HAVE SOME FAST RAM:
**
**      Make BufMemType equal to 5.
**      Set HighCyl appropriately.
**
**   IF YOU HAVE ONLY CHIP RAM (NO RAM EXPANSION):
**
**      Make BufMemType equal to 3.
**      Set HighCyl appropriately.
**
**   Increasing the value of Buffers will actually slow down the ram disk.
**
**   The BufMemType flag is actually  the second parameter of the AllocMem
**   calls the kernel will make to  allocate  internal buffers. Making the
**   value places the buffers in Fast ram. A value of 3 places the buffers
**   in Chip ram.
*/
/*
**   Setting HighCyl
**
**   HighCyl determines the maximum size of the recoverable ram disk. It
**   defines the number of tracks there are in the disk. Each track con-
**   tains 16 512 byte blocks (or 8K of information).  Changing  HighCyl
**   and rebooting will cause a fresh (empty) recoverable ram disk to be
**   created.
**
**   It is better to run out  of  space on the recoverable ram disk than
**   to run out of memory. That  is,  don't  set  HighCyl to make a disk
**   larger than your total amount of memory. 
**
**   Remember, the ASDG  Recoverable  Ram  Disk does full dynamic memory
**   management. That is, HighCyl is really just a Maximum size. Setting
**   HighCyl to a large number does *NOT* mean you automatically lose  a
**   lot of memory.
**
**   HighCyl MUST BE ODD!
**
**   Suggested HighCyl Values:
**
**   Fast Ram Installed   HighCyl Value   Max Ram Disk Size
**
**      0           15            128K
**      512K           31            256K
**      1Mbyte           63-95            512K-768K
**      2Mbytes           127-191         1Mbyte-1.5Mbytes
**      4Mbytes           255-383**         2Mbytes-3Mbytes
**      8Mbytes           Anything less**
**                 than 1024
**
**   **This version of the ASDG Recoverable Ram Disk has been configured
**   to support ram disks  up  to  2Mbytes in size. That is, the maximum
**   valid value of HighCyl is 255. A  verison  supporting up to 8Mbytes
**   of ram disk is available from ASDG Incorporated.
**
**   REMEMBER: If you have  Fast  Ram  that  autoconfigs, some amount of
**   it will be used by the operating system even before the recoverable
**   ram disk starts  up. So, you've  actually  got about 100K less than
**   you think.
**
**   NOTE: Using Addbuffers with the ASDG Recoverable Ram Disk will 
**   slow the ram disk's performance. 
**
*/
/*
**   Copyright 1987 By Perry S. Kivolowitz (ASDG Incorporated) All Rights
**   Reserved to Author. NOT IN THE PUBLIC DOMAIN.
**
**   The contents of this file:
**
**   May not be distributed by any commercial software or hardware vendor.
**   May not be sold under any guise.
**   Must (please) contain this and copyright information above and below.
**
*/

VD0:       Device = asdg.vdisk.device
           Unit   = 1
           Flags  = 0
           Surfaces  = 1
           BlocksPerTrack = 16
           Priority = 5
           Reserved = 2
           Interleave = 0
           LowCyl = 0
           HighCyl = 191
           Buffers = 5
           BufMemType = 5
#

===========================================================================

And this is a verbatim copy of my startup-sequence:

RunBack -1 df0:c/FaccII 640
prompt "DW%> "
echo "Changing primary font"
setfont prime 8
df0:c/conman
df0:c/Binddrivers
mount vd0:
dir > nil: vd0:
if EXISTS vd0:c
    assign c: vd0:c
    echo "Command directory running from VD0:"
else
    makedir vd0:c
    copy df0:c vd0:c all
    assign c: vd0:c
endif
if EXISTS vd0:s
    assign s: vd0:s
    echo "Script directory running from VD0:"
else
    makedir vd0:s
    copy df0:s vd0:s all
    assign s: vd0:s
endif
if EXISTS vd0:l
    assign l: vd0:l
    echo "System's l directory running from VD0:"
else
    makedir vd0:l
    copy df0:l vd0:l all
    assign l: vd0:l
endif
if EXISTS vd0:fonts
    assign fonts: vd0:fonts
    echo "Fonts directory running from VD0:"
else
    makedir vd0:fonts
    copy df0:fonts vd0:fonts all
    assign fonts: vd0:fonts
endif
if EXISTS vd0:devs
    assign devs: vd0:devs
    echo "Device directory running from VD0:"
else
    makedir vd0:devs
    copy df0:devs vd0:devs all
    assign devs: vd0:devs
endif
if EXISTS vd0:libs
    assign libs: vd0:libs
    echo "Library directory running from VD0:"
else
    makedir vd0:libs
    copy df0:libs vd0:libs all
    assign libs: vd0:libs
endif
echo "Workbench disk.  Release 1.2 version 33.47"
echo " "
echo "Use Preferences tool to set date"
echo " "
echo "Adding cache buffers for df0:"
df0:c/addbuffers df0: 16
echo " "
echo "Adding cache buffers for df1:"
df0:c/addbuffers df1: 16
assign sys: vd0:c
if EXISTS vd0:system
    path vd0:system add
    echo "System directory running from VD0:"
endif

I have purposely left the QUIET qualifier off the COPY commands
so that I can see if there are any errors during the startup and
where they might be occurring.  I have tried a number of different
things, including reordering some of the commands, removing some
of the commands, etc., but nothing has worked so far.

==========================================================================

Here is a listing of the DEVS directory on the disk I have been using
which tries to set up VD0:

serial.device               5304 rwed 04-Nov-86 15:34:21
keymaps                      Dir rwed 06-Nov-86 12:39:34
sddevice                    1556 rwed 11-Apr-88 04:35:09
smdevice                     816 rwed 11-Apr-88 04:35:25
parallel.device             1904 rwed 04-Nov-86 15:35:01
mountlist                   4823 rwed 06-Nov-86 11:10:05
clipboard.device            6672 rwed 04-Nov-86 15:35:08
printer.device             18676 rwed 06-Nov-86 10:35:54
narrator.device            23280 rwed 04-Nov-86 15:35:22
printers                     Dir rwed 06-Nov-86 12:43:27
clipboards                   Dir rwed 04-Nov-86 15:36:28
system-configuration         232 rwed 06-Nov-86 10:59:13
ASDG.VDisk.Device           6040 rwed 06-Nov-86 12:35:19
11 files - 3 directories - 161 blocks used

==========================================================================

The data addresses of the upper deck of the Starboard ar laid out as
follows:

14 15 12 13 | 9 8 11 10 | 6 4 5 7 | 0 1 2 3 | P P
14 15 12 13 | 9 8 11 10 | 6 4 5 7 | 0 1 2 3 | P P
^^ ^^ ^^             ^^
|| || ||             ||
 |  |  |              |______________________________} labeled
 |  |  |_____________________________________________} as bad by
 |  |________________________________________________} Starboard
 |___________________________________________________} memory
                                                     } diagnostics


I will be more than happy to supply any additional information which might
be of help.

Dave
1469.5You are running out of memoryTLE::RMEYERSRandy MeyersMon Jun 13 1988 22:2022
Re: .4

I believe that you said that you are running with only 1 Meg of fast ram.

In your mountlist you have the line:

           HighCyl = 191

This makes a ram disk that can completely swamp a system with 2 Meg of
fast ram.  Since your system will run out of memory before the ram
disk signals that it is full, you will get a ram disk with I/O errors.

The solution is to make the ASDG ram disk more reasonably sized.  Change
your HighCyl line in your mountlist to be:

           HighCyl = 63

This will give you a chance to run out of ram disk before you run out of
memory.

The crashes that sometimes occurred when you got the disk corrupt error
were probably due to the system not having enough memory to recover.
1469.6No, I have 2 meg...NEXUS::D_WHITEUncle DaveTue Jun 14 1988 04:039
Re: .5
    
        At one point, I reconfigured the Starboard for only 1 meg to see
    if the diagnostics would run clean.  However, I am currently running
    with 2 meg on the Starboard, plus 512K of chip RAM.  I will try
    setting the value of HighCyl down, but, to me, that defeats some
    of the point of having additional memory.
    
    Dave
1469.7Maybe your memory is really bad after allTLE::RMEYERSRandy MeyersWed Jun 15 1988 05:1912
Re: .6

If you are running with 2 meg of fast memory but the fast memory fails
to pass diagnostic tests, it could be that your ram disk gets I/O errors
because the memory is bad.

Independent of possible bad memory, I recommend that you use the lower
number of the range given in the mountlist for your high cylinder entry.
That is the lower number of the range given for your memory configuration.
Since you do (sort of, anyway) have 2 meg of fast ram, use the lower number
for the 2 meg system.  (I quoted you the low number for 1 meg of fast ram
systems.)