[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
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 |
3969.0. "GVP 030 hardware bug (from Usenet)" by WJG::GUINEAU () Fri Jul 27 1990 11:31
Article 2744 of comp.sys.amiga.hardware:
Path: shlump.nac.dec.com!decuac!haven!ames!uhccux!virtue!comp.vuw.ac.nz!munnari.oz.au!bunyip!uqvax.decnet.uq.oz!wattle!inb300campbe
From: [email protected]
Newsgroups: comp.sys.amiga,comp.sys.amiga.hardware,comp.sys.amiga.tech
Subject: GVP 68030 board hardware bug
Message-ID: <[email protected]>
Date: 26 Jul 90 16:41:07 GMT
Organization: Queensland University of Technology
Lines: 76
Xref: shlump.nac.dec.com comp.sys.amiga:62002 comp.sys.amiga.hardware:2744 comp.sys.amiga.tech:13864
Hardware bug report:
Hardware: Amiga 2000 with GVP 25Mhz 68030 board and 4 Megs
of 32-bit memory.
Problem: When writing a word to memory located in 32-bit
wide memory and with an address ending in 3,7,B or F, the
first byte is always written correctly, but the second byte
of the word (LSB) is NOT written to the correct location.
It is unknown if the byte is written to somewhere else
instead, but we have determined that it is not written to
anywhere within 32K.
Assuming 32-bit memory is imaged at $200000 - $3FFFFF, the
following code should demonstrate the problem:
(memory before code executed)
$280000 00000000 00000000
$280008 00000000 00000000
$280010 00000000 00000000
lea $280003,A0
move.w #$1234,(A0)+
move.w #$1234,(A0)+
move.w #$1234,(A0)+
move.w #$1234,(A0)+
move.w #$1234,(A0)+
move.w #$1234,(A0)+
move.w #$1234,(A0)+
move.w #$1234,(A0)+
Under normal circumstances, memory should be changed at
that location to:
$280000 00000012 34123412
$280008 34123412 34123412
$280010 34123400 00000000
Instead, the memory is actually changed to:
$280000 00000012 00123412
$280008 00123412 00123412
$280010 00123400 00000000
When reading from memory, there seems to be no problem.
Disabling the cache and/or burst mode makes no difference
to the test results.
When the same tests are run using either 16-bit wide fast
memory, or chip memory, no problem exists.
The fault exists whether running code at full speed, or
single-stepping (using Metascope). We found that the
fault was easily duplicated by loading a small program
into Metascope, entering the above code, setting the A0
register to an address inside the first hunk, and ending
in 3/7/B/F, and pressing rAmiga-S to single step.
Because no memory transfers or word data is transferred
to odd addresses using a 68000 CPU, all programs written
for the 68000 will run okay even with this problem.
However programs written for the 68020/030 CPU's which
don't use word alligned data will not work properly on
these machines.
Tests on the Amiga 3000 and Commodore 2630 board did not
exibit this problem. I would like to hear from owners
of other brands of 68020/030 boards to establish the
extent of the problem. (eg. Hurricane board, GVP, etc.)
=================================================================
David Campbell [email protected]
Undergrad Ba.App.Sc - Comp
Queensland University of Technology
=================================================================
T.R | Title | User | Personal Name | Date | Lines
|
---|