Line 76... |
Line 76... |
|
|
// Detects unknown instructions by signalling the known ones
|
// Detects unknown instructions by signalling the known ones
|
reg validPLA; // Valid PLA asserts this reg
|
reg validPLA; // Valid PLA asserts this reg
|
// Activates a state machine to compute WZ=IX+d; takes 5T cycles
|
// Activates a state machine to compute WZ=IX+d; takes 5T cycles
|
reg ixy_d; // Compute WX=IX+d
|
reg ixy_d; // Compute WX=IX+d
|
// Signals the setting of IX/IY and CB/ED prefix flags; inhibits clearing them
|
// Signals the setting of IX/IY prefix flags; inhibits clearing them
|
reg setIXIY; // Set IX/IY flag at the next T cycle
|
reg setIXIY; // Set IX/IY flag at the next T cycle
|
reg setCBED; // Set CB or ED flag at the next T cycle
|
|
// Holds asserted by non-repeating versions of block instructions (LDI/CPI,...)
|
// Holds asserted by non-repeating versions of block instructions (LDI/CPI,...)
|
reg nonRep; // Non-repeating block instruction
|
reg nonRep; // Non-repeating block instruction
|
// Suspends incrementing PC through address latch unless in HALT or interrupt mode
|
// Suspends incrementing PC through address latch unless in HALT or interrupt mode
|
reg pc_inc_hold; // Normally 0 unless in one of those modes
|
reg pc_inc_hold; // Normally 0 unless in one of those modes
|
|
|
Line 137... |
Line 136... |
// Reset global machine cycle functions
|
// Reset global machine cycle functions
|
fFetch = M1; // Fetch is aliased to M1
|
fFetch = M1; // Fetch is aliased to M1
|
fMRead = 0; fMWrite = 0; fIORead = 0; fIOWrite = 0;
|
fMRead = 0; fMWrite = 0; fIORead = 0; fIOWrite = 0;
|
ixy_d = 0;
|
ixy_d = 0;
|
setIXIY = 0;
|
setIXIY = 0;
|
setCBED = 0;
|
|
nonRep = 0;
|
nonRep = 0;
|
pc_inc_hold = 0;
|
pc_inc_hold = 0;
|
|
|
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
// State-based signal assignment; code generated from Timings spreadsheet
|
// State-based signal assignment; code generated from Timings spreadsheet
|