mirror of
https://github.com/wfjm/w11.git
synced 2026-04-05 05:51:14 +00:00
add and use Rw11Cpu::kCPAH_M_UBM22
- in all practical cases the unibus map enable should be used together with the 22bit addressing enable, so it's prudent to add a new constant.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// $Id: Rw11CntlRK11.cpp 686 2015-06-04 21:08:08Z mueller $
|
||||
// $Id: Rw11CntlRK11.cpp 857 2017-02-26 15:27:41Z mueller $
|
||||
//
|
||||
// Copyright 2013-2015 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
// Other credits:
|
||||
// the boot code is from the simh project and Copyright Robert M Supnik
|
||||
//
|
||||
@@ -15,6 +15,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-02-26 857 2.0.3 use kCPAH_M_UBM22
|
||||
// 2015-06-04 686 2.0.2 check for spurious lams
|
||||
// 2015-02-17 647 2.0.1 use Nwrd2Nblk(); BUGFIX: revise RdmaPostExecCB()
|
||||
// 2015-01-04 628 2.0 use Rw11RdmaDisk
|
||||
@@ -27,7 +28,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11CntlRK11.cpp 686 2015-06-04 21:08:08Z mueller $
|
||||
\version $Id: Rw11CntlRK11.cpp 857 2017-02-26 15:27:41Z mueller $
|
||||
\brief Implemenation of Rw11CntlRK11.
|
||||
*/
|
||||
|
||||
@@ -436,9 +437,7 @@ int Rw11CntlRK11::AttnHandler(RlinkServer::AttnArgs& args)
|
||||
if (rker) {
|
||||
AddErrorExit(clist, rker);
|
||||
} else {
|
||||
fRdma.QueueDiskWrite(addr, nwrd,
|
||||
Rw11Cpu::kCPAH_M_22BIT|Rw11Cpu::kCPAH_M_UBMAP,
|
||||
lba, &unit);
|
||||
fRdma.QueueDiskWrite(addr, nwrd, Rw11Cpu::kCPAH_M_UBM22, lba, &unit);
|
||||
}
|
||||
|
||||
} else if (fu == kFUNC_READ) { // Read --------------------------
|
||||
@@ -449,9 +448,7 @@ int Rw11CntlRK11::AttnHandler(RlinkServer::AttnArgs& args)
|
||||
if (rker) {
|
||||
AddErrorExit(clist, rker);
|
||||
} else {
|
||||
fRdma.QueueDiskRead(addr, nwrd,
|
||||
Rw11Cpu::kCPAH_M_22BIT|Rw11Cpu::kCPAH_M_UBMAP,
|
||||
lba, &unit);
|
||||
fRdma.QueueDiskRead(addr, nwrd, Rw11Cpu::kCPAH_M_UBM22, lba, &unit);
|
||||
}
|
||||
|
||||
} else if (fu == kFUNC_WCHK) { // Write Check -------------------
|
||||
@@ -462,9 +459,7 @@ int Rw11CntlRK11::AttnHandler(RlinkServer::AttnArgs& args)
|
||||
if (rker) {
|
||||
AddErrorExit(clist, rker);
|
||||
} else {
|
||||
fRdma.QueueDiskWriteCheck(addr, nwrd,
|
||||
Rw11Cpu::kCPAH_M_22BIT|Rw11Cpu::kCPAH_M_UBMAP,
|
||||
lba, &unit);
|
||||
fRdma.QueueDiskWriteCheck(addr, nwrd, Rw11Cpu::kCPAH_M_UBM22, lba, &unit);
|
||||
}
|
||||
|
||||
} else if (fu == kFUNC_SEEK) { // Seek --------------------------
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// $Id: Rw11CntlRL11.cpp 686 2015-06-04 21:08:08Z mueller $
|
||||
// $Id: Rw11CntlRL11.cpp 857 2017-02-26 15:27:41Z mueller $
|
||||
//
|
||||
// Copyright 2014-2015 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
// Copyright 2014-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
// Other credits:
|
||||
// the boot code is from the simh project and Copyright Robert M Supnik
|
||||
// CalcCrc() is adopted from the simh project and Copyright Robert M Supnik
|
||||
@@ -16,6 +16,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-02-26 857 1.0.3 use kCPAH_M_UBM22
|
||||
// 2015-06-04 686 1.0.2 check for spurious lams
|
||||
// 2015-03-04 655 1.0.1 use original boot code again
|
||||
// 2015-03-01 653 1.0 Initial version
|
||||
@@ -24,7 +25,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11CntlRL11.cpp 686 2015-06-04 21:08:08Z mueller $
|
||||
\version $Id: Rw11CntlRL11.cpp 857 2017-02-26 15:27:41Z mueller $
|
||||
\brief Implemenation of Rw11CntlRL11.
|
||||
*/
|
||||
|
||||
@@ -537,24 +538,18 @@ int Rw11CntlRL11::AttnHandler(RlinkServer::AttnArgs& args)
|
||||
AddSetStatus(clist, ds, sta | kSTA_M_WGE);
|
||||
AddErrorExit(clist, kERR_M_DE);
|
||||
} else {
|
||||
fRdma.QueueDiskWrite(addr, nwrd,
|
||||
Rw11Cpu::kCPAH_M_22BIT|Rw11Cpu::kCPAH_M_UBMAP,
|
||||
lba, &unit);
|
||||
fRdma.QueueDiskWrite(addr, nwrd, Rw11Cpu::kCPAH_M_UBM22, lba, &unit);
|
||||
}
|
||||
|
||||
} else if (fu == kFUNC_WCHK) { // Write Check -------------------
|
||||
fStats.Inc(kStatNFuncWchk );
|
||||
fRdma.QueueDiskWriteCheck(addr, nwrd,
|
||||
Rw11Cpu::kCPAH_M_22BIT|Rw11Cpu::kCPAH_M_UBMAP,
|
||||
lba, &unit);
|
||||
fRdma.QueueDiskWriteCheck(addr, nwrd, Rw11Cpu::kCPAH_M_UBM22, lba, &unit);
|
||||
|
||||
} else if (fu == kFUNC_READ || // Read or
|
||||
fu == kFUNC_RNHC) { // Read No Header Check ----------
|
||||
fStats.Inc(fu==kFUNC_READ ? kStatNFuncRead : kStatNFuncRnhc);
|
||||
|
||||
fRdma.QueueDiskRead(addr, nwrd,
|
||||
Rw11Cpu::kCPAH_M_22BIT|Rw11Cpu::kCPAH_M_UBMAP,
|
||||
lba, &unit);
|
||||
fRdma.QueueDiskRead(addr, nwrd, Rw11Cpu::kCPAH_M_UBM22, lba, &unit);
|
||||
}
|
||||
|
||||
if (clist.Size()) { // if handled directly
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// $Id: Rw11CntlTM11.cpp 690 2015-06-07 18:23:51Z mueller $
|
||||
// $Id: Rw11CntlTM11.cpp 857 2017-02-26 15:27:41Z mueller $
|
||||
//
|
||||
// Copyright 2015- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
// Copyright 2015-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
// Other credits:
|
||||
// the boot code is from the simh project and Copyright Robert M Supnik
|
||||
//
|
||||
@@ -15,6 +15,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-02-26 857 1.0.2 use kCPAH_M_UBM22
|
||||
// 2015-06-06 690 1.0.1 BUGFIX: AddFastExit() check for Virt() defined
|
||||
// 2015-06-04 686 1.0 Initial version
|
||||
// 2015-05-17 683 0.1 First draft
|
||||
@@ -22,7 +23,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11CntlTM11.cpp 690 2015-06-07 18:23:51Z mueller $
|
||||
\version $Id: Rw11CntlTM11.cpp 857 2017-02-26 15:27:41Z mueller $
|
||||
\brief Implemenation of Rw11CntlTM11.
|
||||
*/
|
||||
|
||||
@@ -402,8 +403,7 @@ int Rw11CntlTM11::AttnHandler(RlinkServer::AttnArgs& args)
|
||||
AddErrorExit(clist, kTMCR_M_RICMD|kTMSR_M_BTE); // now just bail out !!
|
||||
} else {
|
||||
size_t nwdma = ndone/2;
|
||||
fRdma.QueueWMem(addr, fBuf.data(), nwdma,
|
||||
Rw11Cpu::kCPAH_M_22BIT|Rw11Cpu::kCPAH_M_UBMAP);
|
||||
fRdma.QueueWMem(addr, fBuf.data(), nwdma, Rw11Cpu::kCPAH_M_UBM22);
|
||||
}
|
||||
|
||||
} else if (fu == kFUNC_WRITE || // Write -------------------------
|
||||
@@ -414,8 +414,7 @@ int Rw11CntlTM11::AttnHandler(RlinkServer::AttnArgs& args)
|
||||
if (nbyt&0x1) { // FIXME_code: add odd rlen handling
|
||||
AddErrorExit(clist, kTMCR_M_RICMD|kTMSR_M_BTE); // now just bail out !!
|
||||
} else {
|
||||
fRdma.QueueRMem(addr, fBuf.data(), nwdma,
|
||||
Rw11Cpu::kCPAH_M_22BIT|Rw11Cpu::kCPAH_M_UBMAP);
|
||||
fRdma.QueueRMem(addr, fBuf.data(), nwdma, Rw11Cpu::kCPAH_M_UBM22);
|
||||
}
|
||||
|
||||
} else if (fu == kFUNC_WEOF) { // Write Eof ---------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// $Id: Rw11Cpu.cpp 853 2017-02-19 18:54:30Z mueller $
|
||||
// $Id: Rw11Cpu.cpp 857 2017-02-26 15:27:41Z mueller $
|
||||
//
|
||||
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@@ -13,6 +13,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-02-26 857 1.2.11 add kCPAH_M_UBM22
|
||||
// 2017-02-19 853 1.2.10 use Rtime
|
||||
// 2017-02-17 851 1.2.9 probe/setup auxilliary devices: kw11l,kw11p,iist
|
||||
// 2017-02-10 850 1.2.8 add ModLalh()
|
||||
@@ -36,7 +37,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11Cpu.cpp 853 2017-02-19 18:54:30Z mueller $
|
||||
\version $Id: Rw11Cpu.cpp 857 2017-02-26 15:27:41Z mueller $
|
||||
\brief Implemenation of Rw11Cpu.
|
||||
*/
|
||||
#include <stdlib.h>
|
||||
@@ -118,6 +119,7 @@ const uint16_t Rw11Cpu::kCPURUST_VFAIL;
|
||||
const uint16_t Rw11Cpu::kCPAH_M_ADDR;
|
||||
const uint16_t Rw11Cpu::kCPAH_M_22BIT;
|
||||
const uint16_t Rw11Cpu::kCPAH_M_UBMAP;
|
||||
const uint16_t Rw11Cpu::kCPAH_M_UBM22;
|
||||
|
||||
const uint16_t Rw11Cpu::kCPMEMBE_M_STICK;
|
||||
const uint16_t Rw11Cpu::kCPMEMBE_M_BE;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// $Id: Rw11Cpu.hpp 853 2017-02-19 18:54:30Z mueller $
|
||||
// $Id: Rw11Cpu.hpp 857 2017-02-26 15:27:41Z mueller $
|
||||
//
|
||||
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@@ -13,6 +13,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-02-26 857 1.2.9 add kCPAH_M_UBM22
|
||||
// 2017-02-19 853 1.2.8 use Rtime
|
||||
// 2017-02-17 851 1.2.7 probe/setup auxilliary devices: kw11l,kw11p,iist
|
||||
// 2017-02-10 850 1.2.6 add ModLalh()
|
||||
@@ -32,7 +33,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11Cpu.hpp 853 2017-02-19 18:54:30Z mueller $
|
||||
\version $Id: Rw11Cpu.hpp 857 2017-02-26 15:27:41Z mueller $
|
||||
\brief Declaration of class Rw11Cpu.
|
||||
*/
|
||||
|
||||
@@ -208,9 +209,10 @@ namespace Retro {
|
||||
static const uint16_t kCPURUST_SFAIL = 0xa; //!< sequencer failure
|
||||
static const uint16_t kCPURUST_VFAIL = 0xb; //!< vmbox failure
|
||||
|
||||
static const uint16_t kCPAH_M_ADDR = 0x003f; //!<
|
||||
static const uint16_t kCPAH_M_22BIT = kWBit06; //!<
|
||||
static const uint16_t kCPAH_M_UBMAP = kWBit07; //!<
|
||||
static const uint16_t kCPAH_M_ADDR = 0x003f; //!< mask for 6bit msb
|
||||
static const uint16_t kCPAH_M_22BIT = kWBit06; //!< ena 22bit addressing
|
||||
static const uint16_t kCPAH_M_UBMAP = kWBit07; //!< ena ubmap
|
||||
static const uint16_t kCPAH_M_UBM22 = kWBit06|kWBit07; //!< ubmap+22bit
|
||||
|
||||
static const uint16_t kCPMEMBE_M_STICK = kWBit02; //!<
|
||||
static const uint16_t kCPMEMBE_M_BE = 0x0003; //!<
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// $Id: RtclRw11Cpu.cpp 853 2017-02-19 18:54:30Z mueller $
|
||||
// $Id: RtclRw11Cpu.cpp 857 2017-02-26 15:27:41Z mueller $
|
||||
//
|
||||
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@@ -13,6 +13,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-02-26 857 1.2.13 use kCPAH_M_UBM22 for cp -wa -ubm
|
||||
// 2017-02-19 853 1.2.12 use Rtime
|
||||
// 2017-02-17 851 1.2.11 probe/setup auxilliary devices: kw11l,kw11p,iist
|
||||
// 2017-02-04 848 1.2.10 M_default: add 'probe ena on' output
|
||||
@@ -41,7 +42,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: RtclRw11Cpu.cpp 853 2017-02-19 18:54:30Z mueller $
|
||||
\version $Id: RtclRw11Cpu.cpp 857 2017-02-26 15:27:41Z mueller $
|
||||
\brief Implemenation of RtclRw11Cpu.
|
||||
*/
|
||||
|
||||
@@ -481,7 +482,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
|
||||
if (subopt == "-p22") { // -p22
|
||||
ah |= Rw11Cpu::kCPAH_M_22BIT;
|
||||
} else if (subopt == "-ubm") { // -ubm
|
||||
ah |= Rw11Cpu::kCPAH_M_UBMAP;
|
||||
ah |= Rw11Cpu::kCPAH_M_UBM22;
|
||||
}
|
||||
}
|
||||
clist.AddWreg(base + Rw11Cpu::kCPAL, al);
|
||||
|
||||
Reference in New Issue
Block a user