MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / IOWrite

Method IOWrite

source/Debugger/BreakpointCard.cpp:133–162  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

131}
132
133BYTE __stdcall BreakpointCard::IOWrite(WORD pc, WORD addr, BYTE bWrite, BYTE value, ULONG nExecutedCycles)
134{
135 const UINT slot = ((addr & 0xff) >> 4) - 8;
136 BreakpointCard* pCard = (BreakpointCard*)MemGetSlotParameters(slot);
137
138 CpuIrqDeassert(IS_BREAKPOINTCARD);
139
140 pCard->m_BPSet[pCard->m_BPSetIdx++] = value;
141
142 if (pCard->m_BPSetIdx == kNumParams)
143 {
144 pCard->m_BPSetIdx = 0;
145
146 if (!(pCard->m_status & kFull))
147 {
148 INTERCEPTBREAKPOINT bpSet;
149 bpSet.type = pCard->m_BPSet[0];
150 bpSet.addrStart = (pCard->m_BPSet[2] << 8) | pCard->m_BPSet[1];
151 bpSet.addrEnd = (pCard->m_BPSet[4] << 8) | pCard->m_BPSet[3];
152 bpSet.access = pCard->m_BPSet[5];
153
154 pCard->m_BP_FIFO.push(bpSet);
155 }
156
157 if (pCard->m_BP_FIFO.size() == kFIFO_SIZE)
158 pCard->m_status |= kFull;
159 }
160
161 return 0;
162}
163
164void BreakpointCard::CbFunction(uint8_t slot, INTERCEPTBREAKPOINT interceptBreakpoint)
165{

Callers

nothing calls this directly

Calls 2

MemGetSlotParametersFunction · 0.85
CpuIrqDeassertFunction · 0.85

Tested by

no test coverage detected