From 4b73c8d81b09deaf4bfe9152fcf5d386b8db65ab Mon Sep 17 00:00:00 2001 From: CRWolff <27215580+crwolff@users.noreply.github.com> Date: Sat, 17 Aug 2024 08:42:54 -0600 Subject: [PATCH] Mask adapter channel from buffer address for QBus accesses --- VAX/vax630_io.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/VAX/vax630_io.c b/VAX/vax630_io.c index c8907157..d0a76ef5 100644 --- a/VAX/vax630_io.c +++ b/VAX/vax630_io.c @@ -619,7 +619,7 @@ int32 Map_ReadB (uint32 ba, int32 bc, uint8 *buf) int32 i; uint32 ma, dat; -ba &= 0x003FFFFF; +ba = ba & 0x00FFFFFF; if ((ba | bc) & 03) { /* check alignment */ for (i = ma = 0; i < bc; i++, buf++) { /* by bytes */ if ((ma & VA_M_OFF) == 0) { /* need map? */ @@ -652,8 +652,7 @@ int32 Map_ReadW (uint32 ba, int32 bc, uint16 *buf) int32 i; uint32 ma,dat; -ba &= 0x003FFFFF; -ba = ba & ~01; +ba = ba & 0x00FFFFFE; bc = bc & ~01; if ((ba | bc) & 03) { /* check alignment */ for (i = ma = 0; i < bc; i = i + 2, buf++) { /* by words */ @@ -685,7 +684,7 @@ int32 Map_WriteB (uint32 ba, int32 bc, const uint8 *buf) int32 i; uint32 ma, dat; -ba &= 0x003FFFFF; +ba = ba & 0x00FFFFFF; if ((ba | bc) & 03) { /* check alignment */ for (i = ma = 0; i < bc; i++, buf++) { /* by bytes */ if ((ma & VA_M_OFF) == 0) { /* need map? */ @@ -718,8 +717,7 @@ int32 Map_WriteW (uint32 ba, int32 bc, const uint16 *buf) int32 i; uint32 ma, dat; -ba &= 0x003FFFFF; -ba = ba & ~01; +ba = ba & 0x00FFFFFE; bc = bc & ~01; if ((ba | bc) & 03) { /* check alignment */ for (i = ma = 0; i < bc; i = i + 2, buf++) { /* by words */