21#ifndef included_Retro_Rw11CntlPC11
22#define included_Retro_Rw11CntlPC11 1
35 void Config(
const std::string& name, uint16_t base,
int lam);
39 virtual bool BootCode(
size_t unit, std::vector<uint16_t>& code,
40 uint16_t& aload, uint16_t& astart);
51 uint16_t
Itype()
const;
57 virtual void Dump(std::ostream& os,
int ind=0,
const char* text=0,
62 static const int kLam = 10;
64 static const uint16_t
kRCSR = 000;
65 static const uint16_t
kRBUF = 002;
66 static const uint16_t
kPCSR = 004;
67 static const uint16_t
kPBUF = 006;
static const uint16_t kWBit01
static const uint16_t kWBit15
Implemenation (inline) of Rw11CntlBase.
void PrProcessBuf(uint16_t rbuf)
FIXME_docs.
~Rw11CntlPC11()
Destructor.
uint16_t FifoSize() const
FIXME_docs.
static const uint16_t kUnit_PP
unit number of paper puncher
static const uint16_t kRBUF_M_DATA
rbuf data mask
static const uint16_t kRBUF_V_FUSE
rbuf.fuse shift
void PpWriteChar(uint8_t ochr)
FIXME_docs.
uint16_t Itype() const
FIXME_docs.
static const uint16_t kPBUF_B_FUSE
pbuf.fuse bit mask
static const int kLam
PC11 default lam.
virtual void UnitSetup(size_t ind)
FIXME_docs.
static const uint16_t kRCSR_M_FCLR
rcsr.fclr mask
static const uint16_t kPBUF
PBUF reg offset.
static const uint16_t kPBUF_M_VAL
pbuf.val mask
static const uint16_t kRCSR
RCSR reg offset.
int AttnHandler(RlinkServer::AttnArgs &args)
FIXME_docs.
void PpProcessBuf(const RlinkCommand &cmd, bool prim, uint16_t rbuf)
FIXME_docs.
static const bool kProbeRem
probr rem active
static const uint16_t kRCSR_M_ERROR
rcsr.err mask
static const uint16_t kProbeOff
probe address offset (rcsr)
static const uint16_t kRCSR_B_TYPE
rcsr.type bit mask
static const uint16_t kPCSR_B_RLIM
pcsr.rlim bit mask
static const uint16_t kPBUF_M_DATA
pbuf data mask
uint16_t fPpRlim
puncher interrupt rate limit
void ProcessUnbuf(uint16_t rbuf, uint16_t pbuf)
FIXME_docs.
uint16_t PrRlim() const
FIXME_docs.
bool fPpQueBusy
puncher queue busy
static const uint16_t kFifoMaxSize
maximal fifo size
static const uint16_t kPCSR
PCSR reg offset.
static const uint16_t kRBUF_M_RBUSY
rbuf.rbusy mask
static const uint16_t kPBUF_V_FUSE
pbuf.fuse shift
static const uint16_t kRCSR_V_RLIM
rcsr.rlim shift
@ kPrDrain_Idle
draining not active
@ kPrDrain_Done
draining done
@ kPrDrain_Pend
draining pending
uint16_t fPrQlim
reader queue limit
uint16_t PpRlim() const
FIXME_docs.
uint16_t fPpRblkSize
puncher rblk chunk size
static const bool kProbeInt
probe int active
bool Buffered() const
FIXME_docs.
size_t fPC_rbuf
PrimClist: rbuf index.
void Config(const std::string &name, uint16_t base, int lam)
FIXME_docs.
uint16_t fItype
interface type
static const uint16_t kRCSR_B_RLIM
rcsr.rlim bit mask
static const uint16_t kRBUF
RBUF reg offset.
uint16_t fPrRlim
reader interrupt rate limit
void AttachDone(size_t ind)
FIXME_docs.
void SetPpRlim(uint16_t rlim)
FIXME_docs.
void SetPrRlim(uint16_t rlim)
FIXME_docs.
int fPrDrain
reader drain state
static const uint16_t kIbaddr
PC11 default address.
static const uint16_t kPCSR_M_ERROR
pcsr.err mask
int PpRcvHandler()
FIXME_docs.
static const uint16_t kRCSR_V_TYPE
rcsr.type shift
static const uint16_t kPCSR_V_RLIM
pcsr.rlim shift
Rw11CntlPC11()
Default constructor.
virtual bool BootCode(size_t unit, std::vector< uint16_t > &code, uint16_t &aload, uint16_t &astart)
FIXME_docs.
void SetPrQlim(uint16_t qlim)
FIXME_docs.
static const uint16_t kRBUF_B_FUSE
rbuf.fuse bit mask
uint16_t PrQlim() const
FIXME_docs.
virtual void Dump(std::ostream &os, int ind=0, const char *text=0, int detail=0) const
FIXME_docs.
static const uint16_t kUnit_PR
unit number of paper reader
virtual void Start()
FIXME_docs.
size_t fPC_pbuf
PrimClist: pbuf index.
Declaration of class ReventLoop.