13 device.
getName() +
" romblocks",
14 "Shows for each byte of the mapper which memory block is selected.",
24 unsigned startAddress_,
unsigned mappedSize_,
25 unsigned bankSizeShift_,
unsigned debugShift_ = 0)
27 , blockNr(blockNr_), startAddress(startAddress_)
28 , mappedSize(mappedSize_), bankSizeShift(bankSizeShift_)
29 , debugShift(debugShift_), debugMask(~((1 << debugShift) - 1))
33 unsigned startAddress_,
unsigned mappedSize_,
34 unsigned bankSizeShift_,
unsigned debugShift_,
37 , blockNr(blockNr_), startAddress(startAddress_)
38 , mappedSize(mappedSize_), bankSizeShift(bankSizeShift_)
39 , debugShift(debugShift_), debugMask(debugMask_)
45 unsigned addr = address - startAddress;
46 if (addr < mappedSize) {
47 byte tmp = blockNr[(addr >> bankSizeShift) & debugMask];
48 return (tmp != 255) ? (tmp >> debugShift) : tmp;
56 const unsigned startAddress;
57 const unsigned mappedSize;
58 const unsigned bankSizeShift;
59 const unsigned debugShift;
60 const unsigned debugMask;