84 KiB
84 KiB
| 1 | A-Z80 Timing Table | M_ | T_ | Function | valid | nextM | setM1 | A:reg rd | A:reg wr | inc/dec | A:latch | D:reg rd | D:reg wr | Reg gate | SW2 | SW1 | DB pads | FLAGT | ALU | ALU bus | op2 latch | op1 latch | nibble | operation | SZ | XY | HF | PF | NF | CF | CF2 | Special | Comments | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | |||||||||||||||||||||||||||||||||||
| 3 | // 8-bit Load Group | ||||||||||||||||||||||||||||||||||
| 4 | |||||||||||||||||||||||||||||||||||
| 5 | #if pla[17] & ~pla[50] : ld r,n | 4,3 | |||||||||||||||||||||||||||||||||
| 6 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | r8 | < | d | < | R | ||||||||||||||||||||||||||
| 7 | #002H T2 AB:000 DB:46 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 8 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 9 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 10 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 11 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 12 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 13 | #end | ||||||||||||||||||||||||||||||||||
| 14 | |||||||||||||||||||||||||||||||||||
| 15 | #if pla[61] & ~pla[58] & ~pla[59] : ld r,r' | 4 | |||||||||||||||||||||||||||||||||
| 16 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | r8 | < | u | < | op1 | ||||||||||||||||||||||||||
| 17 | #002H T2 AB:000 DB:05 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 18 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 19 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | r8 | >r8 | - | >s0 | bus | ||||||||||||||||||||||||
| 20 | #end | ||||||||||||||||||||||||||||||||||
| 21 | |||||||||||||||||||||||||||||||||||
| 22 | #if use_ixiy & pla[58] : ld r,(ix+d) | 4,3,5,3 | |||||||||||||||||||||||||||||||||
| 23 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | r8 | < | d | < | R | ||||||||||||||||||||||||||
| 24 | #006H T2 AB:001 DB:4E M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 25 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 26 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 27 | #009H T5 AB:002 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 28 | #010H T6 AB:002 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 29 | #011H T7 AB:002 DB:01 MREQ RD | 2 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 30 | #012H T8 AB:002 DB:-- | 3 | 1 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 31 | #013H T9 AB:002 DB:-- | 3 | 2 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 32 | #014H T10 AB:002 DB:-- | 3 | 3 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 33 | #015H T11 AB:002 DB:-- | 3 | 4 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 34 | #016H T12 AB:002 DB:-- | 3 | 5 | mr | WZ=IX+d | Clears the IX/IY and ... | |||||||||||||||||||||||||||||
| 35 | #end | ||||||||||||||||||||||||||||||||||
| 36 | |||||||||||||||||||||||||||||||||||
| 37 | #if ~use_ixiy & pla[58] : ld r,(hl) | 4,3 | |||||||||||||||||||||||||||||||||
| 38 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | r8 | < | d | < | R | ||||||||||||||||||||||||||
| 39 | #002H T2 AB:000 DB:46 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 40 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 41 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 42 | #005H T5 AB:003 DB:-- | 2 | 1 | fMRead | HL | W | |||||||||||||||||||||||||||||
| 43 | #006H T6 AB:003 DB:03 MREQ RD | 2 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 44 | #007H T7 AB:003 DB:03 MREQ RD | 2 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 45 | |||||||||||||||||||||||||||||||||||
| 46 | #017H T13 AB:001 DB:-- | 4 | 1 | fMRead | R | ...continues here | |||||||||||||||||||||||||||||
| 47 | #018H T14 AB:001 DB:4E MREQ RD | 4 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 48 | #019H T15 AB:001 DB:4E MREQ RD | 4 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 49 | #end | ||||||||||||||||||||||||||||||||||
| 50 | |||||||||||||||||||||||||||||||||||
| 51 | #if use_ixiy & pla[59] : ld (ix+d),r | 4,3,5,3 | |||||||||||||||||||||||||||||||||
| 52 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 53 | #006H T2 AB:001 DB:70 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 54 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 55 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 56 | #009H T5 AB:002 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 57 | #010H T6 AB:002 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 58 | #011H T7 AB:002 DB:01 MREQ RD | 2 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 59 | #012H T8 AB:002 DB:-- | 3 | 1 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 60 | #013H T9 AB:002 DB:-- | 3 | 2 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 61 | #014H T10 AB:002 DB:-- | 3 | 3 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 62 | #015H T11 AB:002 DB:-- | 3 | 4 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 63 | #016H T12 AB:002 DB:-- | 3 | 5 | mw | WZ=IX+d | Clears the IX/IY and ... | |||||||||||||||||||||||||||||
| 64 | #end | ||||||||||||||||||||||||||||||||||
| 65 | |||||||||||||||||||||||||||||||||||
| 66 | #if ~use_ixiy & pla[59] : ld (hl),r | 4,3 | |||||||||||||||||||||||||||||||||
| 67 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 68 | #002H T2 AB:000 DB:70 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 69 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 70 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mw | r8 | >r8 | - | > | W | ||||||||||||||||||||||||
| 71 | #005H T5 AB:001 DB:-- | 2 | 1 | fMWrite | HL | W | |||||||||||||||||||||||||||||
| 72 | #006H T6 AB:001 DB:01 MREQ | 2 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 73 | #007H T7 AB:001 DB:01 MREQ WR | 2 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 74 | |||||||||||||||||||||||||||||||||||
| 75 | #017H T13 AB:000 DB:-- | 4 | 1 | fMWrite | R | r8 | >r8 | - | > | W | ...continues here | ||||||||||||||||||||||||
| 76 | #018H T14 AB:000 DB:46 MREQ | 4 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 77 | #019H T15 AB:000 DB:46 MREQ WR | 4 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 78 | #end | ||||||||||||||||||||||||||||||||||
| 79 | |||||||||||||||||||||||||||||||||||
| 80 | #if pla[40] : ld (ix+d),n | 4,3,5,3 | |||||||||||||||||||||||||||||||||
| 81 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 82 | #006H T2 AB:001 DB:36 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 83 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 84 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 85 | #009H T5 AB:002 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 86 | #010H T6 AB:002 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 87 | #011H T7 AB:002 DB:01 MREQ RD | 2 | 3 | fMRead | mr | ||||||||||||||||||||||||||||||
| 88 | #012H T8 AB:003 DB:-- | 3 | 1 | fMRead | PC | W | WZ=IX+d | ||||||||||||||||||||||||||||
| 89 | #013H T9 AB:003 DB:02 MREQ RD | 3 | 2 | fMRead | PC | + | R | WZ=IX+d | |||||||||||||||||||||||||||
| 90 | #014H T10 AB:003 DB:02 MREQ RD | 3 | 3 | fMRead | WZ=IX+d | Reads "n" at the same time | |||||||||||||||||||||||||||||
| 91 | #015H T11 AB:003 DB:-- | 3 | 4 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 92 | #016H T12 AB:003 DB:-- | 3 | 5 | mw | WZ=IX+d | Clears the IX/IY and ... | |||||||||||||||||||||||||||||
| 93 | #end | ||||||||||||||||||||||||||||||||||
| 94 | |||||||||||||||||||||||||||||||||||
| 95 | #if pla[50] & ~pla[40] : ld (hl),n | 4,3,3 | |||||||||||||||||||||||||||||||||
| 96 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 97 | #002H T2 AB:000 DB:36 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 98 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 99 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 100 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 101 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 102 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | mw | ||||||||||||||||||||||||||||||
| 103 | #008H T8 AB:001 DB:-- | 3 | 1 | fMWrite | HL | W | |||||||||||||||||||||||||||||
| 104 | #009H T9 AB:001 DB:01 MREQ | 3 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 105 | #010H T10 AB:001 DB:01 MREQ WR | 3 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 106 | |||||||||||||||||||||||||||||||||||
| 107 | #017H T13 AB:002 DB:-- | 4 | 1 | fMWrite | R | ...continues here | |||||||||||||||||||||||||||||
| 108 | #018H T14 AB:002 DB:02 MREQ | 4 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 109 | #019H T15 AB:002 DB:02 MREQ WR | 4 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 110 | #end | ||||||||||||||||||||||||||||||||||
| 111 | |||||||||||||||||||||||||||||||||||
| 112 | #if pla[8] & pla[13] : ld (rr),a | 4,3 | |||||||||||||||||||||||||||||||||
| 113 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 114 | #002H T2 AB:000 DB:02 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 115 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 116 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mw | A | >h | u | > | W | ||||||||||||||||||||||||
| 117 | #005H T5 AB:001 DB:-- | 2 | 1 | fMWrite | r16 | W | |||||||||||||||||||||||||||||
| 118 | #006H T6 AB:001 DB:FF MREQ | 2 | 2 | fMWrite | WZ | + | R | ||||||||||||||||||||||||||||
| 119 | #007H T7 AB:001 DB:FF MREQ WR | 2 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 120 | #end | ||||||||||||||||||||||||||||||||||
| 121 | |||||||||||||||||||||||||||||||||||
| 122 | #if pla[8] & ~pla[13] : ld a,(rr) | 4,3 | |||||||||||||||||||||||||||||||||
| 123 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | d | < | R | ||||||||||||||||||||||||||
| 124 | #002H T2 AB:000 DB:0A M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 125 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 126 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 127 | #005H T5 AB:002 DB:-- | 2 | 1 | fMRead | r16 | W | |||||||||||||||||||||||||||||
| 128 | #006H T6 AB:002 DB:02 MREQ RD | 2 | 2 | fMRead | WZ | + | R | ||||||||||||||||||||||||||||
| 129 | #007H T7 AB:002 DB:02 MREQ RD | 2 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 130 | #end | ||||||||||||||||||||||||||||||||||
| 131 | |||||||||||||||||||||||||||||||||||
| 132 | #if pla[38] & pla[13] : ld (nn),a | 4,3,3,3 | |||||||||||||||||||||||||||||||||
| 133 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 134 | #002H T2 AB:000 DB:32 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 135 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 136 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 137 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 138 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 139 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 140 | #008H T8 AB:002 DB:-- | 3 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 141 | #009H T9 AB:002 DB:02 MREQ RD | 3 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 142 | #010H T10 AB:002 DB:02 MREQ RD | 3 | 3 | fMRead | mw | WZ | W | W | <h | d | < | R | |||||||||||||||||||||||
| 143 | #011H T11 AB:001 DB:-- | 4 | 1 | fMWrite | R | A | >h | u | > | W | |||||||||||||||||||||||||
| 144 | #012H T12 AB:001 DB:FE MREQ | 4 | 2 | fMWrite | WZ | + | R | ||||||||||||||||||||||||||||
| 145 | #013H T13 AB:001 DB:FE MREQ WR | 4 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 146 | #end | ||||||||||||||||||||||||||||||||||
| 147 | |||||||||||||||||||||||||||||||||||
| 148 | #if pla[38] & ~pla[13] : ld a,(nn) | 4,3,3,3 | |||||||||||||||||||||||||||||||||
| 149 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | d | < | R | ||||||||||||||||||||||||||
| 150 | #002H T2 AB:000 DB:3A M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 151 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 152 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 153 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 154 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 155 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 156 | #008H T8 AB:002 DB:-- | 3 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 157 | #009H T9 AB:002 DB:02 MREQ RD | 3 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 158 | #010H T10 AB:002 DB:02 MREQ RD | 3 | 3 | fMRead | mr | W | <h | d | < | R | |||||||||||||||||||||||||
| 159 | #011H T11 AB:001 DB:-- | 4 | 1 | fMRead | WZ | W | |||||||||||||||||||||||||||||
| 160 | #012H T12 AB:001 DB:01 MREQ RD | 4 | 2 | fMRead | WZ | + | R | ||||||||||||||||||||||||||||
| 161 | #013H T13 AB:001 DB:01 MREQ RD | 4 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 162 | #end | ||||||||||||||||||||||||||||||||||
| 163 | |||||||||||||||||||||||||||||||||||
| 164 | #if pla[83] : ld a,i/a,r | 5 | |||||||||||||||||||||||||||||||||
| 165 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | A | < | alu | < | res | H | OR | * | * | * | iff2 | 0 | |||||||||||||||||||
| 166 | #006H T2 AB:001 DB:57 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ||||||||||||||||||||||||||||
| 167 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 168 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | I/R | >r8' | - | alu | >s0 | bus | bus | L | OR | * | * | * | 0 | |||||||||||||||||
| 169 | #009H T5 AB:001 DB:-- | 1 | 5 | Y | |||||||||||||||||||||||||||||||
| 170 | #end | ||||||||||||||||||||||||||||||||||
| 171 | |||||||||||||||||||||||||||||||||||
| 172 | #if pla[57] : ld i,a/r,a | 5 | |||||||||||||||||||||||||||||||||
| 173 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 174 | #006H T2 AB:001 DB:47 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 175 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 176 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | I/R | < | u | < | op1 | |||||||||||||||||||||||||
| 177 | #009H T5 AB:001 DB:-- | 1 | 5 | Y | |||||||||||||||||||||||||||||||
| 178 | #end | ||||||||||||||||||||||||||||||||||
| 179 | |||||||||||||||||||||||||||||||||||
| 180 | // 16-bit Load Group | ||||||||||||||||||||||||||||||||||
| 181 | |||||||||||||||||||||||||||||||||||
| 182 | #if pla[7] : ld rr,nn | 4,3,3 | |||||||||||||||||||||||||||||||||
| 183 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | rh | < | d | < | R | USE_SP | |||||||||||||||||||||||||
| 184 | #002H T2 AB:000 DB:01 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 185 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 186 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 187 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 188 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 189 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | mr | ||||||||||||||||||||||||||||||
| 190 | #008H T8 AB:002 DB:-- | 3 | 1 | fMRead | PC | W | rl | < | d | < | R | USE_SP | |||||||||||||||||||||||
| 191 | #009H T9 AB:002 DB:02 MREQ RD | 3 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 192 | #010H T10 AB:002 DB:02 MREQ RD | 3 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 193 | #end | ||||||||||||||||||||||||||||||||||
| 194 | |||||||||||||||||||||||||||||||||||
| 195 | #if pla[30] & pla[13] : ld (nn),hl | 4,3,3,3,3 | |||||||||||||||||||||||||||||||||
| 196 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 197 | #002H T2 AB:000 DB:22 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 198 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 199 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 200 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 201 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 202 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 203 | #008H T8 AB:002 DB:-- | 3 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 204 | #009H T9 AB:002 DB:02 MREQ RD | 3 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 205 | #010H T10 AB:002 DB:02 MREQ RD | 3 | 3 | fMRead | mw | WZ | W | W | <h | d | < | R | |||||||||||||||||||||||
| 206 | #011H T11 AB:001 DB:-- | 4 | 1 | fMWrite | R | rl | >l | > | W | ||||||||||||||||||||||||||
| 207 | #012H T12 AB:001 DB:01 MREQ | 4 | 2 | fMWrite | WZ | + | R | ||||||||||||||||||||||||||||
| 208 | #013H T13 AB:001 DB:01 MREQ WR | 4 | 3 | fMWrite | mw | WZ | W | ||||||||||||||||||||||||||||
| 209 | #014H T14 AB:002 DB:-- | 5 | 1 | fMWrite | R | rh | >h | u | > | W | |||||||||||||||||||||||||
| 210 | #015H T15 AB:002 DB:02 MREQ | 5 | 2 | fMWrite | WZ | + | R | ||||||||||||||||||||||||||||
| 211 | #016H T16 AB:002 DB:02 MREQ WR | 5 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 212 | #end | ||||||||||||||||||||||||||||||||||
| 213 | |||||||||||||||||||||||||||||||||||
| 214 | #if pla[30] & ~pla[13] : ld hl,(nn) | 4,3,3,3,3 | |||||||||||||||||||||||||||||||||
| 215 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 216 | #002H T2 AB:000 DB:2A M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 217 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 218 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 219 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 220 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 221 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 222 | #008H T8 AB:002 DB:-- | 3 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 223 | #009H T9 AB:002 DB:02 MREQ RD | 3 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 224 | #010H T10 AB:002 DB:02 MREQ RD | 3 | 3 | fMRead | mr | W | <h | d | < | R | |||||||||||||||||||||||||
| 225 | #011H T11 AB:001 DB:-- | 4 | 1 | fMRead | WZ | W | |||||||||||||||||||||||||||||
| 226 | #012H T12 AB:001 DB:01 MREQ RD | 4 | 2 | fMRead | WZ | + | R | ||||||||||||||||||||||||||||
| 227 | #013H T13 AB:001 DB:01 MREQ RD | 4 | 3 | fMRead | mr | rl | < | d | < | R | |||||||||||||||||||||||||
| 228 | #014H T14 AB:002 DB:-- | 5 | 1 | fMRead | WZ | W | |||||||||||||||||||||||||||||
| 229 | #015H T15 AB:002 DB:02 MREQ RD | 5 | 2 | fMRead | WZ | + | R | ||||||||||||||||||||||||||||
| 230 | #016H T16 AB:002 DB:02 MREQ RD | 5 | 3 | fMRead | Y | rh | < | d | < | R | |||||||||||||||||||||||||
| 231 | #end | ||||||||||||||||||||||||||||||||||
| 232 | |||||||||||||||||||||||||||||||||||
| 233 | #if pla[31] & pla[33] : ld (nn),rr | 4,3,3,3,3 | |||||||||||||||||||||||||||||||||
| 234 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 235 | #006H T2 AB:001 DB:43 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 236 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 237 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 238 | #009H T5 AB:002 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 239 | #010H T6 AB:002 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 240 | #011H T7 AB:002 DB:01 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 241 | #012H T8 AB:003 DB:-- | 3 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 242 | #013H T9 AB:003 DB:02 MREQ RD | 3 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 243 | #014H T10 AB:003 DB:02 MREQ RD | 3 | 3 | fMRead | mw | WZ | W | W | <h | d | < | R | |||||||||||||||||||||||
| 244 | #015H T11 AB:001 DB:-- | 4 | 1 | fMWrite | R | rl | >l | > | W | USE_SP | |||||||||||||||||||||||||
| 245 | #016H T12 AB:001 DB:FF MREQ | 4 | 2 | fMWrite | WZ | + | R | ||||||||||||||||||||||||||||
| 246 | #017H T13 AB:001 DB:FF MREQ WR | 4 | 3 | fMWrite | mw | WZ | W | ||||||||||||||||||||||||||||
| 247 | #018H T14 AB:002 DB:-- | 5 | 1 | fMWrite | R | rh | >h | u | > | W | USE_SP | ||||||||||||||||||||||||
| 248 | #019H T15 AB:002 DB:C3 MREQ | 5 | 2 | fMWrite | WZ | + | R | ||||||||||||||||||||||||||||
| 249 | #020H T16 AB:002 DB:C3 MREQ WR | 5 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 250 | #end | ||||||||||||||||||||||||||||||||||
| 251 | |||||||||||||||||||||||||||||||||||
| 252 | #if pla[31] & ~pla[33] : ld rr,(nn) | 4,3,3,3,3 | |||||||||||||||||||||||||||||||||
| 253 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 254 | #006H T2 AB:001 DB:43 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 255 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 256 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 257 | #009H T5 AB:002 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 258 | #010H T6 AB:002 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 259 | #011H T7 AB:002 DB:01 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 260 | #012H T8 AB:003 DB:-- | 3 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 261 | #013H T9 AB:003 DB:02 MREQ RD | 3 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 262 | #014H T10 AB:003 DB:02 MREQ RD | 3 | 3 | fMRead | mr | W | <h | d | < | R | |||||||||||||||||||||||||
| 263 | #015H T11 AB:001 DB:-- | 4 | 1 | fMRead | WZ | W | |||||||||||||||||||||||||||||
| 264 | #016H T12 AB:001 DB:FF MREQ RD | 4 | 2 | fMRead | WZ | + | R | ||||||||||||||||||||||||||||
| 265 | #017H T13 AB:001 DB:FF MREQ RD | 4 | 3 | fMRead | mr | rl | < | d | < | R | USE_SP | ||||||||||||||||||||||||
| 266 | #018H T14 AB:002 DB:-- | 5 | 1 | fMRead | WZ | W | |||||||||||||||||||||||||||||
| 267 | #019H T15 AB:002 DB:C3 MREQ RD | 5 | 2 | fMRead | WZ | + | R | ||||||||||||||||||||||||||||
| 268 | #020H T16 AB:002 DB:C3 MREQ RD | 5 | 3 | fMRead | Y | rh | < | d | < | R | USE_SP | ||||||||||||||||||||||||
| 269 | #end | ||||||||||||||||||||||||||||||||||
| 270 | |||||||||||||||||||||||||||||||||||
| 271 | #if pla[5] : ld sp,hl | 6 | |||||||||||||||||||||||||||||||||
| 272 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 273 | #002H T2 AB:000 DB:F9 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 274 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 275 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | HL | W | ||||||||||||||||||||||||||||
| 276 | #005H T5 AB:000 DB:-- | 1 | 5 | SP | R | ||||||||||||||||||||||||||||||
| 277 | #006H T6 AB:000 DB:-- | 1 | 6 | Y | |||||||||||||||||||||||||||||||
| 278 | #end | ||||||||||||||||||||||||||||||||||
| 279 | |||||||||||||||||||||||||||||||||||
| 280 | #if pla[23] & pla[16] : push qq | 5,3,3 | |||||||||||||||||||||||||||||||||
| 281 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 282 | #002H T2 AB:000 DB:C5 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 283 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 284 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | ||||||||||||||||||||||||||||||
| 285 | #005H T5 AB:000 DB:-- | 1 | 5 | mw | SP | - | W | ||||||||||||||||||||||||||||
| 286 | #006H T6 AB:002 DB:-- | 2 | 1 | fMWrite | - | P | rh | >h | u | > | W | ||||||||||||||||||||||||
| 287 | #007H T7 AB:002 DB:02 MREQ | 2 | 2 | fMWrite | SP | - | R | ||||||||||||||||||||||||||||
| 288 | #008H T8 AB:002 DB:02 MREQ WR | 2 | 3 | fMWrite | mw | SP | - | W | |||||||||||||||||||||||||||
| 289 | #009H T9 AB:001 DB:-- | 3 | 1 | fMWrite | - | P | rl | >l | > | W | |||||||||||||||||||||||||
| 290 | #010H T10 AB:001 DB:01 MREQ | 3 | 2 | fMWrite | SP | - | R | ||||||||||||||||||||||||||||
| 291 | #011H T11 AB:001 DB:01 MREQ WR | 3 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 292 | #end | ||||||||||||||||||||||||||||||||||
| 293 | |||||||||||||||||||||||||||||||||||
| 294 | #if pla[23] & ~pla[16] : pop qq | 4,3,3 | |||||||||||||||||||||||||||||||||
| 295 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 296 | #002H T2 AB:000 DB:C1 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 297 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 298 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 299 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | SP | W | |||||||||||||||||||||||||||||
| 300 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | SP | + | R | ||||||||||||||||||||||||||||
| 301 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | mr | rl | < | d | < | R | |||||||||||||||||||||||||
| 302 | #008H T8 AB:002 DB:-- | 3 | 1 | fMRead | SP | W | |||||||||||||||||||||||||||||
| 303 | #009H T9 AB:002 DB:02 MREQ RD | 3 | 2 | fMRead | SP | + | R | ||||||||||||||||||||||||||||
| 304 | #010H T10 AB:002 DB:02 MREQ RD | 3 | 3 | fMRead | Y | rh | < | d | < | R | |||||||||||||||||||||||||
| 305 | #end | ||||||||||||||||||||||||||||||||||
| 306 | |||||||||||||||||||||||||||||||||||
| 307 | // Exchange, Block Transfer and Search Groups | ||||||||||||||||||||||||||||||||||
| 308 | |||||||||||||||||||||||||||||||||||
| 309 | #if pla[2] : ex de,hl | 4 | |||||||||||||||||||||||||||||||||
| 310 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 311 | #002H T2 AB:000 DB:EB M1 MREQ RD | 1 | 2 | fMFetch | Ex_DE_HL | ||||||||||||||||||||||||||||||
| 312 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 313 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | |||||||||||||||||||||||||||||
| 314 | #end | ||||||||||||||||||||||||||||||||||
| 315 | |||||||||||||||||||||||||||||||||||
| 316 | #if pla[39] : ex af,af' | 4 | |||||||||||||||||||||||||||||||||
| 317 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 318 | #002H T2 AB:000 DB:08 M1 MREQ RD | 1 | 2 | fMFetch | Ex_AF_AF' | ||||||||||||||||||||||||||||||
| 319 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 320 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | |||||||||||||||||||||||||||||
| 321 | #end | ||||||||||||||||||||||||||||||||||
| 322 | |||||||||||||||||||||||||||||||||||
| 323 | #if pla[1] : exx | 4 | |||||||||||||||||||||||||||||||||
| 324 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 325 | #002H T2 AB:000 DB:D9 M1 MREQ RD | 1 | 2 | fMFetch | EXX | ||||||||||||||||||||||||||||||
| 326 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 327 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | |||||||||||||||||||||||||||||
| 328 | #end | ||||||||||||||||||||||||||||||||||
| 329 | |||||||||||||||||||||||||||||||||||
| 330 | #if pla[10] : ex (sp),hl | 4,3,4,3,5 | |||||||||||||||||||||||||||||||||
| 331 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 332 | #002H T2 AB:000 DB:E3 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 333 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 334 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 335 | #005H T5 AB:0FD DB:-- | 2 | 1 | fMRead | SP | W | |||||||||||||||||||||||||||||
| 336 | #006H T6 AB:0FD DB:03 MREQ RD | 2 | 2 | fMRead | SP | + | R | ||||||||||||||||||||||||||||
| 337 | #007H T7 AB:0FD DB:03 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 338 | #008H T8 AB:0FE DB:-- | 3 | 1 | fMRead | SP | W | |||||||||||||||||||||||||||||
| 339 | #009H T9 AB:0FE DB:D1 MREQ RD | 3 | 2 | fMRead | SP | + | R | ||||||||||||||||||||||||||||
| 340 | #010H T10 AB:0FE DB:D1 MREQ RD | 3 | 3 | fMRead | W | <h | d | < | R | ||||||||||||||||||||||||||
| 341 | #011H T11 AB:0FE DB:-- | 3 | 4 | mw | SP | - | W | ||||||||||||||||||||||||||||
| 342 | #012H T12 AB:0FE DB:-- | 4 | 1 | fMWrite | - | P | rh | >h | u | > | W | ||||||||||||||||||||||||
| 343 | #013H T13 AB:0FE DB:00 MREQ | 4 | 2 | fMWrite | SP | - | R | ||||||||||||||||||||||||||||
| 344 | #014H T14 AB:0FE DB:00 MREQ WR | 4 | 3 | fMWrite | mw | SP | - | W | |||||||||||||||||||||||||||
| 345 | #015H T15 AB:0FD DB:-- | 5 | 1 | fMWrite | - | P | rl | >l | > | W | |||||||||||||||||||||||||
| 346 | #016H T16 AB:0FD DB:01 MREQ | 5 | 2 | fMWrite | SP | - | R | ||||||||||||||||||||||||||||
| 347 | #017H T17 AB:0FD DB:01 MREQ WR | 5 | 3 | fMWrite | WZ | W | |||||||||||||||||||||||||||||
| 348 | #018H T18 AB:0FD DB:01 | 5 | 4 | HL | R | ||||||||||||||||||||||||||||||
| 349 | #019H T19 AB:0FD DB:01 | 5 | 5 | Y | |||||||||||||||||||||||||||||||
| 350 | #end | ||||||||||||||||||||||||||||||||||
| 351 | |||||||||||||||||||||||||||||||||||
| 352 | #if pla[0] : Non-repeating version of a block instruction | 4,3,5,(5) | |||||||||||||||||||||||||||||||||
| 353 | #always | NonRep | |||||||||||||||||||||||||||||||||
| 354 | #end | ||||||||||||||||||||||||||||||||||
| 355 | |||||||||||||||||||||||||||||||||||
| 356 | #if pla[12] : ldi/ldir/ldd/lddr | 4,3,5,(5) | |||||||||||||||||||||||||||||||||
| 357 | #035H T1 AB:00A DB:-- M1 | 1 | 1 | fMFetch | alu | res | H | OR | * | * | REP | 0 | R | ||||||||||||||||||||||
| 358 | #036H T2 AB:00A DB:B0 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ||||||||||||||||||||||||||||
| 359 | #037H T3 AB:004 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 360 | #038H T4 AB:004 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 361 | #039H T5 AB:000 DB:-- | 2 | 1 | fMRead | HL | W | |||||||||||||||||||||||||||||
| 362 | #040H T6 AB:000 DB:21 MREQ RD | 2 | 2 | fMRead | HL | op3 | R | ||||||||||||||||||||||||||||
| 363 | #041H T7 AB:000 DB:21 MREQ RD | 2 | 3 | fMRead | mw | d | < | R | alu | >s0 | bus | L | ADD | * | W | ||||||||||||||||||||
| 364 | #042H T8 AB:000 DB:-- | 3 | 1 | fMWrite | DE | W | alu | < | res | H | ADD | R | |||||||||||||||||||||||
| 365 | #043H T9 AB:000 DB:21 MREQ | 3 | 2 | fMWrite | DE | op3 | R | ||||||||||||||||||||||||||||
| 366 | #044H T10 AB:000 DB:21 MREQ WR | 3 | 3 | fMWrite | BC | W | |||||||||||||||||||||||||||||
| 367 | #045H T11 AB:000 DB:21 | 3 | 4 | BC | - | R | WriteBC=1 | Update repeat flag latch | |||||||||||||||||||||||||||
| 368 | #046H T12 AB:000 DB:21 | 3 | 5 | Y | BR | ||||||||||||||||||||||||||||||
| 369 | #047H T13 AB:000 DB:-- | 4 | 1 | PC | W | ||||||||||||||||||||||||||||||
| 370 | #048H T14 AB:000 DB:-- | 4 | 2 | PC | - | R | |||||||||||||||||||||||||||||
| 371 | #049H T15 AB:000 DB:-- | 4 | 3 | PC | W | ||||||||||||||||||||||||||||||
| 372 | #050H T16 AB:000 DB:-- | 4 | 4 | PC | - | R | |||||||||||||||||||||||||||||
| 373 | #051H T17 AB:000 DB:-- | 4 | 5 | Y | |||||||||||||||||||||||||||||||
| 374 | #end | ||||||||||||||||||||||||||||||||||
| 375 | |||||||||||||||||||||||||||||||||||
| 376 | #if pla[11] : cpi/cpir/cpd/cpdr | 4,3,5,(5) | |||||||||||||||||||||||||||||||||
| 377 | #035H T1 AB:00A DB:-- M1 | 1 | 1 | fMFetch | alu | < | res | 0 | H | SUB | * | REP | 1 | R | |||||||||||||||||||||
| 378 | #036H T2 AB:00A DB:B1 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ?NF_HF | |||||||||||||||||||||||||||
| 379 | #037H T3 AB:004 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 380 | #038H T4 AB:004 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 381 | #039H T5 AB:000 DB:-- | 2 | 1 | fMRead | HL | W | |||||||||||||||||||||||||||||
| 382 | #040H T6 AB:000 DB:21 MREQ RD | 2 | 2 | fMRead | HL | op3 | R | ||||||||||||||||||||||||||||
| 383 | #041H T7 AB:000 DB:21 MREQ RD | 2 | 3 | fMRead | Y | d | < | R | alu | >s0 | bus | L | SUB | * | W | ||||||||||||||||||||
| 384 | #042H T8 AB:000 DB:-- | 3 | 1 | alu | < | res | H | SUB | * | R | |||||||||||||||||||||||||
| 385 | #043H T9 AB:000 DB:-- | 3 | 2 | ||||||||||||||||||||||||||||||||
| 386 | #044H T10 AB:000 DB:-- | 3 | 3 | BC | W | ||||||||||||||||||||||||||||||
| 387 | #045H T11 AB:000 DB:-- | 3 | 4 | BC | - | R | WriteBC=1 | Update repeat flag latch | |||||||||||||||||||||||||||
| 388 | #046H T12 AB:000 DB:-- | 3 | 5 | Y | BRZ | ||||||||||||||||||||||||||||||
| 389 | #047H T13 AB:000 DB:-- | 4 | 1 | PC | W | ||||||||||||||||||||||||||||||
| 390 | #048H T14 AB:000 DB:-- | 4 | 2 | PC | - | R | |||||||||||||||||||||||||||||
| 391 | #049H T15 AB:000 DB:-- | 4 | 3 | PC | W | ||||||||||||||||||||||||||||||
| 392 | #050H T16 AB:000 DB:-- | 4 | 4 | PC | - | R | |||||||||||||||||||||||||||||
| 393 | #051H T17 AB:000 DB:-- | 4 | 5 | Y | |||||||||||||||||||||||||||||||
| 394 | #end | ||||||||||||||||||||||||||||||||||
| 395 | |||||||||||||||||||||||||||||||||||
| 396 | // 8-bit Arithmetic and Logic Group | ||||||||||||||||||||||||||||||||||
| 397 | |||||||||||||||||||||||||||||||||||
| 398 | #if pla[65] & ~pla[52] : add/sub/and/or/xor/cmp a,r | 4 | |||||||||||||||||||||||||||||||||
| 399 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | ? | < | u | alu | < | res | H | PLA | * | ? | ? | ? | * | A is stored in each ALU PLA below | |||||||||||||||||
| 400 | #002H T2 AB:000 DB:80 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | PLA | ?NF_HF_CF | If (NF), complement HF, CF | |||||||||||||||||||||||||
| 401 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 402 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | r8 | >r8 | - | alu | >s0 | bus | L | PLA | * | * | * | ? | |||||||||||||||||
| 403 | #end | ||||||||||||||||||||||||||||||||||
| 404 | |||||||||||||||||||||||||||||||||||
| 405 | #if pla[64] : add/sub/and/or/xor/cmp a,n | 4,3 | |||||||||||||||||||||||||||||||||
| 406 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | ? | < | u | alu | < | res | H | PLA | * | ? | ? | ? | * | A is stored in each ALU PLA below | |||||||||||||||||
| 407 | #002H T2 AB:000 DB:C6 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | PLA | ?NF_HF_CF | If (NF), complement HF, CF | |||||||||||||||||||||||||
| 408 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 409 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | r8 | >r8 | - | alu | >s0 | bus | L | PLA | * | * | * | ? | |||||||||||||||||
| 410 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | PLA | ||||||||||||||||||||||||||||
| 411 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 412 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | Y | d | < | R | alu | >s0 | bus | L | PLA | * | * | * | ? | ||||||||||||||||||
| 413 | #end | ||||||||||||||||||||||||||||||||||
| 414 | |||||||||||||||||||||||||||||||||||
| 415 | #if use_ixiy & pla[52] : add/sub/and/or/xor/cp (ix+d) | 4,3,5,3 | |||||||||||||||||||||||||||||||||
| 416 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 417 | #006H T2 AB:001 DB:86 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 418 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 419 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 420 | #009H T5 AB:002 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 421 | #010H T6 AB:002 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 422 | #011H T7 AB:002 DB:01 MREQ RD | 2 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 423 | #012H T8 AB:002 DB:-- | 3 | 1 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 424 | #013H T9 AB:002 DB:-- | 3 | 2 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 425 | #014H T10 AB:002 DB:-- | 3 | 3 | WZ=IX+d | Reads "n" at the same time | ||||||||||||||||||||||||||||||
| 426 | #015H T11 AB:002 DB:-- | 3 | 4 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 427 | #016H T12 AB:002 DB:-- | 3 | 5 | mr | WZ=IX+d | Clears the IX/IY and ... | |||||||||||||||||||||||||||||
| 428 | #end | ||||||||||||||||||||||||||||||||||
| 429 | |||||||||||||||||||||||||||||||||||
| 430 | #if ~use_ixiy & pla[52] : add/sub/and/or/xor/cp (hl) | 4,3 | |||||||||||||||||||||||||||||||||
| 431 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | ? | < | u | alu | < | res | H | PLA | * | ? | ? | ? | * | A is stored in each ALU PLA below | |||||||||||||||||
| 432 | #002H T2 AB:000 DB:86 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | PLA | ?NF_HF_CF | If (NF), complement HF, CF | |||||||||||||||||||||||||
| 433 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 434 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 435 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | HL | W | |||||||||||||||||||||||||||||
| 436 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | WZ | + | R | ||||||||||||||||||||||||||||
| 437 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | Y | d | < | R | alu | >s0 | bus | L | PLA | * | * | * | ? | ||||||||||||||||||
| 438 | |||||||||||||||||||||||||||||||||||
| 439 | #017H T13 AB:000 DB:-- | 4 | 1 | fMRead | R | ...continues here | |||||||||||||||||||||||||||||
| 440 | #018H T14 AB:000 DB:DD MREQ RD | 4 | 2 | fMRead | AF | > | > | >s0 | bus | bus | * | * | * | * | * | Reloads AF since (IX+d) used ALU core | |||||||||||||||||||
| 441 | #019H T15 AB:000 DB:DD MREQ RD | 4 | 3 | fMRead | Y | d | < | R | alu | >s0 | bus | L | PLA | * | * | * | ? | ||||||||||||||||||
| 442 | #end | ||||||||||||||||||||||||||||||||||
| 443 | |||||||||||||||||||||||||||||||||||
| 444 | #if pla[66] & ~pla[53] : inc/dec r | 4 | |||||||||||||||||||||||||||||||||
| 445 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | r8 | < | u | alu | < | res | H | ADC | * | * | V | R | |||||||||||||||||||
| 446 | #002H T2 AB:000 DB:05 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ?NF_HF | If (NF), complement HF | ||||||||||||||||||||||||||
| 447 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 448 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | r8' | >r8' | - | alu | >s0 | 0 | bus | L | ADC | * | * | * | 0 | 1 | W | ||||||||||||||
| 449 | #end | ||||||||||||||||||||||||||||||||||
| 450 | |||||||||||||||||||||||||||||||||||
| 451 | #if pla[75] : dec | ||||||||||||||||||||||||||||||||||
| 452 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | 1 | 0 | NEG_OP2 | ||||||||||||||||||||||||||||
| 453 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | 1 | 0 | NEG_OP2 | ||||||||||||||||||||||||||||
| 454 | #end | ||||||||||||||||||||||||||||||||||
| 455 | |||||||||||||||||||||||||||||||||||
| 456 | #if (M2 | M4) & pla[75] : dec | ||||||||||||||||||||||||||||||||||
| 457 | #always | 1 | 0 | NEG_OP2 | |||||||||||||||||||||||||||||||
| 458 | #end | ||||||||||||||||||||||||||||||||||
| 459 | |||||||||||||||||||||||||||||||||||
| 460 | #if use_ixiy & pla[53] : inc/dec (ix+d) | 4,3,5,4,3 | |||||||||||||||||||||||||||||||||
| 461 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 462 | #006H T2 AB:001 DB:34 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 463 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 464 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 465 | #009H T5 AB:002 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 466 | #010H T6 AB:002 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 467 | #011H T7 AB:002 DB:01 MREQ RD | 2 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 468 | #012H T8 AB:002 DB:-- | 3 | 1 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 469 | #013H T9 AB:002 DB:-- | 3 | 2 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 470 | #014H T10 AB:002 DB:-- | 3 | 3 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 471 | #015H T11 AB:002 DB:-- | 3 | 4 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 472 | #016H T12 AB:002 DB:-- | 3 | 5 | mr | WZ=IX+d | Clears the IX/IY and ... | |||||||||||||||||||||||||||||
| 473 | #end | ||||||||||||||||||||||||||||||||||
| 474 | |||||||||||||||||||||||||||||||||||
| 475 | #if ~use_ixiy & pla[53] : inc/dec (hl) | 4,4,3 | |||||||||||||||||||||||||||||||||
| 476 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 477 | #002H T2 AB:000 DB:34 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ?NF_HF | If (NF), complement HF | ||||||||||||||||||||||||||
| 478 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 479 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 480 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | HL | W | |||||||||||||||||||||||||||||
| 481 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 482 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | d | < | R | alu | >s0 | 0 | bus | L | ADC | * | 0 | 1 | W | ||||||||||||||||||
| 483 | #008H T8 AB:001 DB:-- | 2 | 4 | mw | u | > | W | alu | < | res | H | ADC | * | * | V | R | |||||||||||||||||||
| 484 | #009H T9 AB:001 DB:-- | 3 | 1 | fMWrite | R | ||||||||||||||||||||||||||||||
| 485 | #010H T10 AB:001 DB:02 MREQ | 3 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 486 | #011H T11 AB:001 DB:02 MREQ WR | 3 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 487 | |||||||||||||||||||||||||||||||||||
| 488 | #017H T13 AB:002 DB:-- | 4 | 1 | fMRead | R | ...continues here | |||||||||||||||||||||||||||||
| 489 | #018H T14 AB:002 DB:01 MREQ RD | 4 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 490 | #019H T15 AB:002 DB:01 MREQ RD | 4 | 3 | fMRead | d | < | R | alu | >s0 | 0 | bus | L | ADC | * | 0 | 1 | W | ||||||||||||||||||
| 491 | #020H T16 AB:002 DB:-- | 4 | 4 | mw | u | > | W | alu | < | res | H | ADC | * | * | V | R | |||||||||||||||||||
| 492 | #021H T17 AB:002 DB:-- | 5 | 1 | fMWrite | R | ||||||||||||||||||||||||||||||
| 493 | #022H T18 AB:002 DB:02 MREQ | 5 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 494 | #023H T19 AB:002 DB:02 MREQ WR | 5 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 495 | #end | ||||||||||||||||||||||||||||||||||
| 496 | |||||||||||||||||||||||||||||||||||
| 497 | // 16-bit Arithmetic Group | ||||||||||||||||||||||||||||||||||
| 498 | |||||||||||||||||||||||||||||||||||
| 499 | #if pla[69] : add hl,ss | 4,4,3 | |||||||||||||||||||||||||||||||||
| 500 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 501 | #002H T2 AB:000 DB:09 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ||||||||||||||||||||||||||||
| 502 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | 0 | * | |||||||||||||||||||
| 503 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | L | >l | d | >s0 | bus | ||||||||||||||||||||||||
| 504 | #005H T5 AB:000 DB:-- | 2 | 1 | rl | >l | d | alu | >s0 | bus | L | ADD | * | USE_SP | ||||||||||||||||||||||
| 505 | #006H T6 AB:000 DB:-- | 2 | 2 | Z | <l | u | alu | < | res | H | ADC | * | * | ||||||||||||||||||||||
| 506 | #007H T7 AB:000 DB:-- | 2 | 3 | H | > | >s0 | bus | ||||||||||||||||||||||||||||
| 507 | #008H T8 AB:000 DB:-- | 2 | 4 | Y | rh | > | alu | >s0 | bus | L | ADC | * | USE_SP | ||||||||||||||||||||||
| 508 | #009H T9 AB:000 DB:-- | 3 | 1 | WZ | W | W | <h | u | alu | < | res | H | ADC | * | * | ||||||||||||||||||||
| 509 | #010H T10 AB:000 DB:-- | 3 | 2 | HL | R | ||||||||||||||||||||||||||||||
| 510 | #011H T11 AB:000 DB:-- | 3 | 3 | Y | |||||||||||||||||||||||||||||||
| 511 | #end | ||||||||||||||||||||||||||||||||||
| 512 | |||||||||||||||||||||||||||||||||||
| 513 | #if op3 & pla[68] : adc hl,ss | 4,4,3 | |||||||||||||||||||||||||||||||||
| 514 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 515 | #006H T2 AB:001 DB:42 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ||||||||||||||||||||||||||||
| 516 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | 0 | * | |||||||||||||||||||
| 517 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | L | >l | d | >s0 | bus | ||||||||||||||||||||||||
| 518 | #009H T5 AB:001 DB:-- | 2 | 1 | rl | >l | d | alu | >s0 | bus | L | ADC | * | USE_SP | ||||||||||||||||||||||
| 519 | #010H T6 AB:001 DB:-- | 2 | 2 | Z | <l | u | alu | < | res | H | ADC | * | * | * | |||||||||||||||||||||
| 520 | #011H T7 AB:001 DB:-- | 2 | 3 | H | > | >s0 | bus | ||||||||||||||||||||||||||||
| 521 | #012H T8 AB:001 DB:-- | 2 | 4 | Y | rh | > | alu | >s0 | bus | L | ADC | * | USE_SP | ||||||||||||||||||||||
| 522 | #013H T9 AB:001 DB:-- | 3 | 1 | WZ | W | W | <h | u | alu | < | res | H | ADC | * | * | V | * | ZERO_16BIT | |||||||||||||||||
| 523 | #014H T10 AB:001 DB:-- | 3 | 2 | HL | R | ||||||||||||||||||||||||||||||
| 524 | #015H T11 AB:001 DB:-- | 3 | 3 | Y | |||||||||||||||||||||||||||||||
| 525 | #end | ||||||||||||||||||||||||||||||||||
| 526 | |||||||||||||||||||||||||||||||||||
| 527 | #if ~op3 & pla[68] : sbc hl,ss | 4,4,3 | |||||||||||||||||||||||||||||||||
| 528 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 529 | #006H T2 AB:001 DB:42 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ?NF_HF_CF | |||||||||||||||||||||||||||
| 530 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | 1 | * | |||||||||||||||||||
| 531 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | L | >l | d | >s0 | bus | ||||||||||||||||||||||||
| 532 | #009H T5 AB:001 DB:-- | 2 | 1 | rl | >l | d | alu | >s0 | bus | L | SBC | * | USE_SP | ||||||||||||||||||||||
| 533 | #010H T6 AB:001 DB:-- | 2 | 2 | Z | <l | u | alu | < | res | H | SBC | * | * | * | |||||||||||||||||||||
| 534 | #011H T7 AB:001 DB:-- | 2 | 3 | H | > | >s0 | bus | ||||||||||||||||||||||||||||
| 535 | #012H T8 AB:001 DB:-- | 2 | 4 | Y | rh | > | alu | >s0 | bus | L | SBCh | * | USE_SP | ||||||||||||||||||||||
| 536 | #013H T9 AB:001 DB:-- | 3 | 1 | WZ | W | W | <h | u | alu | < | res | H | SBC | * | * | V | * | ZERO_16BIT | |||||||||||||||||
| 537 | #014H T10 AB:001 DB:-- | 3 | 2 | HL | R | ||||||||||||||||||||||||||||||
| 538 | #015H T11 AB:001 DB:-- | 3 | 3 | Y | |||||||||||||||||||||||||||||||
| 539 | #end | ||||||||||||||||||||||||||||||||||
| 540 | |||||||||||||||||||||||||||||||||||
| 541 | #if pla[9] : inc/dec ss | 6 | |||||||||||||||||||||||||||||||||
| 542 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 543 | #002H T2 AB:000 DB:03 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 544 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 545 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | r16 | W | USE_SP | |||||||||||||||||||||||||||
| 546 | #005H T5 AB:000 DB:-- | 1 | 5 | r16 | op3 | R | USE_SP | ||||||||||||||||||||||||||||
| 547 | #006H T6 AB:000 DB:-- | 1 | 6 | Y | |||||||||||||||||||||||||||||||
| 548 | #end | ||||||||||||||||||||||||||||||||||
| 549 | |||||||||||||||||||||||||||||||||||
| 550 | // General Purpose Arithmetic and CPU Control Groups | ||||||||||||||||||||||||||||||||||
| 551 | |||||||||||||||||||||||||||||||||||
| 552 | #if pla[77] : daa | 4 | |||||||||||||||||||||||||||||||||
| 553 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | alu | < | res | H | ADC | * | * | P | * | ?NF_SUB | |||||||||||||||||||
| 554 | #002H T2 AB:000 DB:27 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | R | ?NF_HF | ||||||||||||||||||||||||||
| 555 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | W2 | * | * | * | Only for DAA, write HF2 flag | ||||||||||||||||||
| 556 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | d | alu | >s0 | bus | L | ADC | * | * | * | 1 | W.daa | DAA,?NF_SUB | |||||||||||||||||
| 557 | #end | ||||||||||||||||||||||||||||||||||
| 558 | |||||||||||||||||||||||||||||||||||
| 559 | #if pla[81] : cpl | 4 | |||||||||||||||||||||||||||||||||
| 560 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | alu | < | res | H | OR | * | 1 | NEG_OP2 | |||||||||||||||||||||
| 561 | #002H T2 AB:000 DB:2F M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ?NF_HF | |||||||||||||||||||||||||||
| 562 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 563 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | alu | 0 | L | OR | * | * | 1 | NEG_OP2 | |||||||||||||||||||||
| 564 | #end | ||||||||||||||||||||||||||||||||||
| 565 | |||||||||||||||||||||||||||||||||||
| 566 | #if pla[82] : neg | 4 | |||||||||||||||||||||||||||||||||
| 567 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | A | < | alu | < | res | H | SUB | * | * | V | 1 | * | |||||||||||||||||||
| 568 | #006H T2 AB:001 DB:44 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ?NF_HF_CF | |||||||||||||||||||||||||||
| 569 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 570 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | alu | 0 | L | SUB | * | * | * | 1 | * | ||||||||||||||||||||
| 571 | #end | ||||||||||||||||||||||||||||||||||
| 572 | |||||||||||||||||||||||||||||||||||
| 573 | #if pla[89] : ccf | 4 | |||||||||||||||||||||||||||||||||
| 574 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | alu | < | res | H | OR | * | 0 | ||||||||||||||||||||||||
| 575 | #002H T2 AB:000 DB:3F M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ^ | ?~CF_HF | ||||||||||||||||||||||||||
| 576 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 577 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | alu | L | OR | * | * | 0 | |||||||||||||||||||||||
| 578 | #end | ||||||||||||||||||||||||||||||||||
| 579 | |||||||||||||||||||||||||||||||||||
| 580 | #if pla[92] : scf | 4 | |||||||||||||||||||||||||||||||||
| 581 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | alu | < | res | H | OR | * | 0 | ||||||||||||||||||||||||
| 582 | #002H T2 AB:000 DB:37 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | 1 | |||||||||||||||||||||||||||
| 583 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 584 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | alu | L | OR | * | * | 0 | |||||||||||||||||||||||
| 585 | #end | ||||||||||||||||||||||||||||||||||
| 586 | |||||||||||||||||||||||||||||||||||
| 587 | #if pla[95] : halt | 4 | |||||||||||||||||||||||||||||||||
| 588 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 589 | #002H T2 AB:000 DB:76 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 590 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | HALT | ||||||||||||||||||||||||||||||
| 591 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | |||||||||||||||||||||||||||||
| 592 | #end | ||||||||||||||||||||||||||||||||||
| 593 | |||||||||||||||||||||||||||||||||||
| 594 | #if pla[97] : di/ei | 4 | |||||||||||||||||||||||||||||||||
| 595 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 596 | #002H T2 AB:000 DB:F3 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 597 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | DI_EI | ||||||||||||||||||||||||||||||
| 598 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | NO_INTS | At last M/T, inhibit interrupts | |||||||||||||||||||||||||||
| 599 | #end | ||||||||||||||||||||||||||||||||||
| 600 | |||||||||||||||||||||||||||||||||||
| 601 | #if pla[96] : im n | 4 | |||||||||||||||||||||||||||||||||
| 602 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 603 | #006H T2 AB:001 DB:46 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 604 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | < | R | IM | M1/T3 reads in mode # from opcode[4:3] | |||||||||||||||||||||||||||
| 605 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | |||||||||||||||||||||||||||||
| 606 | #end | ||||||||||||||||||||||||||||||||||
| 607 | |||||||||||||||||||||||||||||||||||
| 608 | // Rotate and Shift Group | ||||||||||||||||||||||||||||||||||
| 609 | |||||||||||||||||||||||||||||||||||
| 610 | #if pla[25] : rlca/rla/rrca/rra | 4 | |||||||||||||||||||||||||||||||||
| 611 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | alu | < | res | H | OR | * | * | 0 | * | ||||||||||||||||||||
| 612 | #002H T2 AB:000 DB:07 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | R | |||||||||||||||||||||||||||
| 613 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 614 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | A | > | alu | >s1 | bus | bus | L | OR | * | * | 0 | W.sh | |||||||||||||||||
| 615 | #end | ||||||||||||||||||||||||||||||||||
| 616 | |||||||||||||||||||||||||||||||||||
| 617 | #if ~use_ixiy & pla[70] & ~pla[55] : rlc r | 4 | |||||||||||||||||||||||||||||||||
| 618 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | r8' | < | u | alu | < | res | H | OR | * | * | * | P | 0 | * | |||||||||||||||||
| 619 | #006H T2 AB:001 DB:00 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | R | |||||||||||||||||||||||||||
| 620 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 621 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | r8 | >r8 | - | alu | >s1 | bus | bus | L | OR | * | * | * | 0 | W.sh | |||||||||||||||
| 622 | |||||||||||||||||||||||||||||||||||
| 623 | #017H T13 AB:000 DB:-- | 4 | 1 | fMRead | WZ | W | R | OpcodeToIR | ...continues here from the (ix+d) addressing mode | ||||||||||||||||||||||||||
| 624 | #018H T14 AB:000 DB:DD MREQ RD | 4 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 625 | #019H T15 AB:000 DB:DD MREQ RD | 4 | 3 | fMRead | mw | d | < | R | alu | >s1 | bus | bus | L | OR | 0 | W.sh | |||||||||||||||||||
| 626 | #029H T17 AB:002 DB:-- | 5 | 1 | fMWrite | R | u | > | W | alu | < | res | H | OR | * | * | * | P | 0 | * | ||||||||||||||||
| 627 | #030H T18 AB:002 DB:BB MREQ | 5 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 628 | #031H T19 AB:002 DB:BB MREQ WR | 5 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 629 | #end | ||||||||||||||||||||||||||||||||||
| 630 | |||||||||||||||||||||||||||||||||||
| 631 | #if ~use_ixiy & pla[70] & pla[55] : rlc (hl) | 4,4,3 | |||||||||||||||||||||||||||||||||
| 632 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 633 | #006H T2 AB:001 DB:00 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | R | |||||||||||||||||||||||||||
| 634 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 635 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 636 | #009H T5 AB:006 DB:-- | 2 | 1 | fMRead | HL | W | |||||||||||||||||||||||||||||
| 637 | #010H T6 AB:006 DB:05 MREQ RD | 2 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 638 | #011H T7 AB:006 DB:05 MREQ RD | 2 | 3 | fMRead | |||||||||||||||||||||||||||||||
| 639 | #012H T8 AB:006 DB:-- | 2 | 4 | mw | d | < | R | alu | >s1 | bus | bus | L | OR | 0 | W.sh | ||||||||||||||||||||
| 640 | #013H T9 AB:006 DB:-- | 3 | 1 | fMWrite | R | u | > | W | alu | < | res | H | OR | * | * | * | P | 0 | * | ||||||||||||||||
| 641 | #014H T10 AB:006 DB:0A MREQ | 3 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 642 | #015H T11 AB:006 DB:0A MREQ WR | 3 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 643 | |||||||||||||||||||||||||||||||||||
| 644 | #017H T13 AB:000 DB:-- | 4 | 1 | fMRead | WZ | W | R | OpcodeToIR | ...continues here from the (ix+d) addressing mode | ||||||||||||||||||||||||||
| 645 | #018H T14 AB:000 DB:DD MREQ RD | 4 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 646 | #019H T15 AB:000 DB:DD MREQ RD | 4 | 3 | fMRead | mw | d | < | R | alu | >s1 | bus | bus | L | OR | 0 | W.sh | |||||||||||||||||||
| 647 | #029H T17 AB:002 DB:-- | 5 | 1 | fMWrite | R | u | > | W | alu | < | res | H | OR | * | * | * | P | 0 | * | ||||||||||||||||
| 648 | #030H T18 AB:002 DB:BB MREQ | 5 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 649 | #031H T19 AB:002 DB:BB MREQ WR | 5 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 650 | #end | ||||||||||||||||||||||||||||||||||
| 651 | |||||||||||||||||||||||||||||||||||
| 652 | #if pla[15] & op3 : rld | 4,3,4,3 | |||||||||||||||||||||||||||||||||
| 653 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | A | < | alu | < | res | H | OR | * | * | P | 0 | ||||||||||||||||||||
| 654 | #006H T2 AB:001 DB:67 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ||||||||||||||||||||||||||||
| 655 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 656 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 657 | #009H T5 AB:000 DB:-- | 2 | 1 | fMRead | HL | W | |||||||||||||||||||||||||||||
| 658 | #010H T6 AB:000 DB:ED MREQ RD | 2 | 2 | fMRead | WZ | + | R | ||||||||||||||||||||||||||||
| 659 | #011H T7 AB:000 DB:ED MREQ RD | 2 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 660 | #012H T8 AB:000 DB:-- | 3 | 1 | d | < | R | >s0 | lq | L | ||||||||||||||||||||||||||
| 661 | #013H T9 AB:000 DB:-- | 3 | 2 | ||||||||||||||||||||||||||||||||
| 662 | #014H T10 AB:000 DB:-- | 3 | 3 | ||||||||||||||||||||||||||||||||
| 663 | #015H T11 AB:000 DB:-- | 3 | 4 | mw | d | < | R | >s0 | low | H | |||||||||||||||||||||||||
| 664 | #016H T12 AB:000 DB:-- | 4 | 1 | fMWrite | R | u | > | W | < | op2 | |||||||||||||||||||||||||
| 665 | #017H T13 AB:000 DB:EE MREQ | 4 | 2 | fMWrite | op1 | bus | |||||||||||||||||||||||||||||
| 666 | #018H T14 AB:000 DB:EE MREQ WR | 4 | 3 | fMWrite | Y | alu | L | OR | * | * | * | 0 | |||||||||||||||||||||||
| 667 | #end | ||||||||||||||||||||||||||||||||||
| 668 | |||||||||||||||||||||||||||||||||||
| 669 | #if pla[15] & ~op3 : rrd | 4,3,4,3 | |||||||||||||||||||||||||||||||||
| 670 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | A | < | alu | < | res | H | OR | * | * | P | 0 | ||||||||||||||||||||
| 671 | #006H T2 AB:001 DB:67 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ||||||||||||||||||||||||||||
| 672 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 673 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 674 | #009H T5 AB:000 DB:-- | 2 | 1 | fMRead | HL | W | |||||||||||||||||||||||||||||
| 675 | #010H T6 AB:000 DB:ED MREQ RD | 2 | 2 | fMRead | WZ | + | R | ||||||||||||||||||||||||||||
| 676 | #011H T7 AB:000 DB:ED MREQ RD | 2 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 677 | #012H T8 AB:000 DB:-- | 3 | 1 | d | < | R | >s0 | lq | low | L | |||||||||||||||||||||||||
| 678 | #013H T9 AB:000 DB:-- | 3 | 2 | u | > | W | < | op2 | |||||||||||||||||||||||||||
| 679 | #014H T10 AB:000 DB:-- | 3 | 3 | A | > | >s0 | lq | L | |||||||||||||||||||||||||||
| 680 | #015H T11 AB:000 DB:-- | 3 | 4 | mw | d | < | R | >s0 | low | H | |||||||||||||||||||||||||
| 681 | #016H T12 AB:000 DB:-- | 4 | 1 | fMWrite | R | u | > | W | < | op2 | |||||||||||||||||||||||||
| 682 | #017H T13 AB:000 DB:EE MREQ | 4 | 2 | fMWrite | op1 | bus | |||||||||||||||||||||||||||||
| 683 | #018H T14 AB:000 DB:EE MREQ WR | 4 | 3 | fMWrite | Y | alu | L | OR | * | * | * | 0 | |||||||||||||||||||||||
| 684 | #end | ||||||||||||||||||||||||||||||||||
| 685 | |||||||||||||||||||||||||||||||||||
| 686 | // Bit Manipulation Group | ||||||||||||||||||||||||||||||||||
| 687 | |||||||||||||||||||||||||||||||||||
| 688 | #if ~use_ixiy & pla[72] & ~pla[55] : bit b,r | 4 | |||||||||||||||||||||||||||||||||
| 689 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | alu | < | res | H | AND | * | * | P | 0 | ||||||||||||||||||||||
| 690 | #006H T2 AB:001 DB:40 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ||||||||||||||||||||||||||||
| 691 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | R | > | >bs | bus | bus | * | * | * | * | * | * | Override M1/T3 load with a bit select | |||||||||||||||||
| 692 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | r8 | >r8 | - | alu | >s0 | bus | L | AND | * | * | * | 0 | |||||||||||||||||
| 693 | |||||||||||||||||||||||||||||||||||
| 694 | #017H T13 AB:000 DB:-- | 4 | 1 | fMRead | R | R | >bs | bus | bus | OpcodeToIR | ...continues here from the (ix+d) addressing mode | ||||||||||||||||||||||||
| 695 | #018H T14 AB:000 DB:DD MREQ RD | 4 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 696 | #019H T15 AB:000 DB:DD MREQ RD | 4 | 3 | fMRead | |||||||||||||||||||||||||||||||
| 697 | #020H T16 AB:000 DB:-- | 4 | 4 | Y | d | < | R | alu | >s0 | bus | L | AND | * | * | 0 | ||||||||||||||||||||
| 698 | #end | ||||||||||||||||||||||||||||||||||
| 699 | |||||||||||||||||||||||||||||||||||
| 700 | #if ~use_ixiy & pla[72] & pla[55] : bit b,(hl) | 4,4 | |||||||||||||||||||||||||||||||||
| 701 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | alu | < | res | H | AND | * | * | P | 0 | ||||||||||||||||||||||
| 702 | #006H T2 AB:001 DB:06 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ||||||||||||||||||||||||||||
| 703 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | R | > | >bs | bus | bus | * | * | * | * | * | * | Override M1/T3 load with a bit select | |||||||||||||||||
| 704 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 705 | #009H T5 AB:006 DB:-- | 2 | 1 | fMRead | HL | W | |||||||||||||||||||||||||||||
| 706 | #010H T6 AB:006 DB:05 MREQ RD | 2 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 707 | #011H T7 AB:006 DB:05 MREQ RD | 2 | 3 | fMRead | WZ | > | > | * | BIT n,(HL) saves WZ in X,Y ("MEMPTR") | ||||||||||||||||||||||||||
| 708 | #012H T8 AB:006 DB:-- | 2 | 4 | Y | d | < | R | alu | >s0 | bus | L | AND | * | * | 0 | ||||||||||||||||||||
| 709 | |||||||||||||||||||||||||||||||||||
| 710 | #017H T13 AB:000 DB:-- | 4 | 1 | fMRead | WZ | W | R | >bs | bus | bus | OpcodeToIR | ...continues here from the (ix+d) addressing mode | |||||||||||||||||||||||
| 711 | #018H T14 AB:000 DB:DD MREQ RD | 4 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 712 | #019H T15 AB:000 DB:DD MREQ RD | 4 | 3 | fMRead | |||||||||||||||||||||||||||||||
| 713 | #020H T16 AB:000 DB:-- | 4 | 4 | Y | d | < | R | alu | >s0 | bus | L | AND | * | * | 0 | ||||||||||||||||||||
| 714 | #end | ||||||||||||||||||||||||||||||||||
| 715 | |||||||||||||||||||||||||||||||||||
| 716 | #if ~use_ixiy & pla[74] & ~pla[55] : set b,r | 4 | |||||||||||||||||||||||||||||||||
| 717 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | r8' | < | u | < | res | H | OR | ||||||||||||||||||||||||
| 718 | #006H T2 AB:001 DB:40 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 719 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | R | > | >bs | bus | bus | * | * | * | * | * | * | Override M1/T3 load with a bit select | |||||||||||||||||
| 720 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | r8 | >r8 | - | >s0 | bus | L | OR | ||||||||||||||||||||||
| 721 | |||||||||||||||||||||||||||||||||||
| 722 | #017H T13 AB:000 DB:-- | 4 | 1 | fMRead | WZ | W | R | >bs | bus | bus | OpcodeToIR | ...continues here from the (ix+d) addressing mode | |||||||||||||||||||||||
| 723 | #018H T14 AB:000 DB:DD MREQ RD | 4 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 724 | #019H T15 AB:000 DB:DD MREQ RD | 4 | 3 | fMRead | mw | d | < | R | alu | >s0 | bus | L | OR | ||||||||||||||||||||||
| 725 | #029H T17 AB:002 DB:-- | 5 | 1 | fMWrite | R | u | > | W | < | res | H | OR | |||||||||||||||||||||||
| 726 | #030H T18 AB:002 DB:BB MREQ | 5 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 727 | #031H T19 AB:002 DB:BB MREQ WR | 5 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 728 | #end | ||||||||||||||||||||||||||||||||||
| 729 | |||||||||||||||||||||||||||||||||||
| 730 | #if ~use_ixiy & pla[74] & pla[55] : set b,(hl) | 4,4,3 | |||||||||||||||||||||||||||||||||
| 731 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 732 | #006H T2 AB:001 DB:06 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 733 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | R | > | >bs | bus | bus | * | * | * | * | * | * | Override M1/T3 load with a bit select | |||||||||||||||||
| 734 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 735 | #009H T5 AB:006 DB:-- | 2 | 1 | fMRead | HL | W | |||||||||||||||||||||||||||||
| 736 | #010H T6 AB:006 DB:05 MREQ RD | 2 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 737 | #011H T7 AB:006 DB:05 MREQ RD | 2 | 3 | fMRead | d | < | R | >s0 | bus | L | OR | ||||||||||||||||||||||||
| 738 | #012H T8 AB:006 DB:-- | 2 | 4 | mw | u | > | W | < | res | H | OR | ||||||||||||||||||||||||
| 739 | #013H T9 AB:006 DB:-- | 3 | 1 | fMWrite | R | ||||||||||||||||||||||||||||||
| 740 | #014H T10 AB:006 DB:0A MREQ | 3 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 741 | #015H T11 AB:006 DB:0A MREQ WR | 3 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 742 | |||||||||||||||||||||||||||||||||||
| 743 | #017H T13 AB:000 DB:-- | 4 | 1 | fMRead | WZ | W | R | >bs | bus | bus | OpcodeToIR | ...continues here from the (ix+d) addressing mode | |||||||||||||||||||||||
| 744 | #018H T14 AB:000 DB:DD MREQ RD | 4 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 745 | #019H T15 AB:000 DB:DD MREQ RD | 4 | 3 | fMRead | mw | d | < | R | alu | >s0 | bus | L | OR | ||||||||||||||||||||||
| 746 | #029H T17 AB:002 DB:-- | 5 | 1 | fMWrite | R | u | > | W | < | res | H | OR | |||||||||||||||||||||||
| 747 | #030H T18 AB:002 DB:BB MREQ | 5 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 748 | #031H T19 AB:002 DB:BB MREQ WR | 5 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 749 | #end | ||||||||||||||||||||||||||||||||||
| 750 | |||||||||||||||||||||||||||||||||||
| 751 | #if ~use_ixiy & pla[73] & ~pla[55] : res b,r | 4 | |||||||||||||||||||||||||||||||||
| 752 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | r8' | < | u | < | res | H | NAND | ||||||||||||||||||||||||
| 753 | #006H T2 AB:001 DB:40 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 754 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | R | > | >bs | bus | bus | * | * | * | * | * | * | Override M1/T3 load with a bit select | |||||||||||||||||
| 755 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | r8 | >r8 | - | >s0 | bus | L | NAND | ||||||||||||||||||||||
| 756 | |||||||||||||||||||||||||||||||||||
| 757 | #017H T13 AB:000 DB:-- | 4 | 1 | fMRead | WZ | W | R | >bs | bus | bus | OpcodeToIR | ...continues here from the (ix+d) addressing mode | |||||||||||||||||||||||
| 758 | #018H T14 AB:000 DB:DD MREQ RD | 4 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 759 | #019H T15 AB:000 DB:DD MREQ RD | 4 | 3 | fMRead | mw | d | < | R | alu | >s0 | bus | L | NAND | ||||||||||||||||||||||
| 760 | #029H T17 AB:002 DB:-- | 5 | 1 | fMWrite | R | u | > | W | < | res | H | NAND | |||||||||||||||||||||||
| 761 | #030H T18 AB:002 DB:BB MREQ | 5 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 762 | #031H T19 AB:002 DB:BB MREQ WR | 5 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 763 | #end | ||||||||||||||||||||||||||||||||||
| 764 | |||||||||||||||||||||||||||||||||||
| 765 | #if ~use_ixiy & pla[73] & pla[55] : res b,(hl) | 4,4,3 | |||||||||||||||||||||||||||||||||
| 766 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 767 | #006H T2 AB:001 DB:06 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 768 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | R | > | >bs | bus | bus | * | * | * | * | * | * | Override M1/T3 load with a bit select | |||||||||||||||||
| 769 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 770 | #009H T5 AB:006 DB:-- | 2 | 1 | fMRead | HL | W | |||||||||||||||||||||||||||||
| 771 | #010H T6 AB:006 DB:05 MREQ RD | 2 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 772 | #011H T7 AB:006 DB:05 MREQ RD | 2 | 3 | fMRead | d | < | R | >s0 | bus | L | NAND | ||||||||||||||||||||||||
| 773 | #012H T8 AB:006 DB:-- | 2 | 4 | mw | u | > | W | < | res | H | NAND | ||||||||||||||||||||||||
| 774 | #013H T9 AB:006 DB:-- | 3 | 1 | fMWrite | R | ||||||||||||||||||||||||||||||
| 775 | #014H T10 AB:006 DB:0A MREQ | 3 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 776 | #015H T11 AB:006 DB:0A MREQ WR | 3 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 777 | |||||||||||||||||||||||||||||||||||
| 778 | #017H T13 AB:000 DB:-- | 4 | 1 | fMRead | WZ | W | R | >bs | bus | bus | OpcodeToIR | ...continues here from the (ix+d) addressing mode | |||||||||||||||||||||||
| 779 | #018H T14 AB:000 DB:DD MREQ RD | 4 | 2 | fMRead | |||||||||||||||||||||||||||||||
| 780 | #019H T15 AB:000 DB:DD MREQ RD | 4 | 3 | fMRead | mw | d | < | R | alu | >s0 | bus | L | NAND | ||||||||||||||||||||||
| 781 | #029H T17 AB:002 DB:-- | 5 | 1 | fMWrite | R | u | > | W | < | res | H | NAND | |||||||||||||||||||||||
| 782 | #030H T18 AB:002 DB:BB MREQ | 5 | 2 | fMWrite | |||||||||||||||||||||||||||||||
| 783 | #031H T19 AB:002 DB:BB MREQ WR | 5 | 3 | fMWrite | Y | ||||||||||||||||||||||||||||||
| 784 | #end | ||||||||||||||||||||||||||||||||||
| 785 | |||||||||||||||||||||||||||||||||||
| 786 | // Input and Output Groups | ||||||||||||||||||||||||||||||||||
| 787 | |||||||||||||||||||||||||||||||||||
| 788 | #if pla[37] & ~pla[28] : in a,(n) | 4,3,4 | |||||||||||||||||||||||||||||||||
| 789 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | d | < | R | ||||||||||||||||||||||||||
| 790 | #002H T2 AB:000 DB:DB M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 791 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 792 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 793 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 794 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 795 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | ior | ||||||||||||||||||||||||||||||
| 796 | #008H T8 AB:001 DB:-- | 3 | 1 | fIORead | A | W | ? | < | < | R | |||||||||||||||||||||||||
| 797 | #009H T9 AB:001 DB:-- RD IORQ | 3 | 2 | fIORead | |||||||||||||||||||||||||||||||
| 798 | #010H T10 AB:001 DB:-- RD IORQ | 3 | 3 | fIORead | |||||||||||||||||||||||||||||||
| 799 | #011H T11 AB:001 DB:-- RD IORQ | 3 | 4 | fIORead | Y | ||||||||||||||||||||||||||||||
| 800 | #end | ||||||||||||||||||||||||||||||||||
| 801 | |||||||||||||||||||||||||||||||||||
| 802 | #if pla[27] & ~pla[34] : in r,(c) | 4,4 | |||||||||||||||||||||||||||||||||
| 803 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | r8 | < | d | < | R | alu | res | H | OR | * | * | P | 0 | ||||||||||||||||||
| 804 | #006H T2 AB:001 DB:40 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ||||||||||||||||||||||||||||
| 805 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 806 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | ior | |||||||||||||||||||||||||||||
| 807 | #009H T5 AB:0FF DB:-- | 2 | 1 | fIORead | BC | W | |||||||||||||||||||||||||||||
| 808 | #010H T6 AB:0FF DB:-- RD IORQ | 2 | 2 | fIORead | |||||||||||||||||||||||||||||||
| 809 | #011H T7 AB:0FF DB:-- RD IORQ | 2 | 3 | fIORead | |||||||||||||||||||||||||||||||
| 810 | #012H T8 AB:0FF DB:-- RD IORQ | 2 | 4 | fIORead | Y | d | < | R | alu | >s0 | bus | bus | L | OR | * | * | * | 0 | |||||||||||||||||
| 811 | #end | ||||||||||||||||||||||||||||||||||
| 812 | |||||||||||||||||||||||||||||||||||
| 813 | #if pla[37] & pla[28] : out (n),a | 4,3,4 | |||||||||||||||||||||||||||||||||
| 814 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 815 | #002H T2 AB:000 DB:D3 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 816 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 817 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 818 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 819 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 820 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | iow | A | W | <l | < | R | |||||||||||||||||||||||||
| 821 | #008H T8 AB:001 DB:-- | 3 | 1 | fIOWrite | R | A | >h | u | > | W | |||||||||||||||||||||||||
| 822 | #009H T9 AB:001 DB:03 WR IORQ | 3 | 2 | fIOWrite | |||||||||||||||||||||||||||||||
| 823 | #010H T10 AB:001 DB:03 WR IORQ | 3 | 3 | fIOWrite | |||||||||||||||||||||||||||||||
| 824 | #011H T11 AB:001 DB:03 WR IORQ | 3 | 4 | fIOWrite | Y | ||||||||||||||||||||||||||||||
| 825 | #end | ||||||||||||||||||||||||||||||||||
| 826 | |||||||||||||||||||||||||||||||||||
| 827 | #if pla[27] & pla[34] : out (c),r | 4,4 | |||||||||||||||||||||||||||||||||
| 828 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 829 | #006H T2 AB:001 DB:41 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 830 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 831 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | iow | r8' | >r8' | - | > | W | ||||||||||||||||||||||||
| 832 | #009H T5 AB:0FF DB:-- | 2 | 1 | fIOWrite | BC | W | |||||||||||||||||||||||||||||
| 833 | #010H T6 AB:0FF DB:C3 WR IORQ | 2 | 2 | fIOWrite | |||||||||||||||||||||||||||||||
| 834 | #011H T7 AB:0FF DB:C3 WR IORQ | 2 | 3 | fIOWrite | |||||||||||||||||||||||||||||||
| 835 | #012H T8 AB:0FF DB:C3 WR IORQ | 2 | 4 | fIOWrite | Y | ||||||||||||||||||||||||||||||
| 836 | #end | ||||||||||||||||||||||||||||||||||
| 837 | |||||||||||||||||||||||||||||||||||
| 838 | #if pla[91] & pla[21] : ini/inir/ind/indr | 5,4,3,(5) | |||||||||||||||||||||||||||||||||
| 839 | #035H T1 AB:00A DB:-- M1 | 1 | 1 | fMFetch | < | res | H | XOR | P | ||||||||||||||||||||||||||
| 840 | #036H T2 AB:00A DB:B2 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ||||||||||||||||||||||||||||
| 841 | #037H T3 AB:004 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 842 | #038H T4 AB:004 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | ||||||||||||||||||||||||||||||
| 843 | #039H T5 AB:004 DB:-- | 1 | 5 | ior | |||||||||||||||||||||||||||||||
| 844 | #040H T6 AB:000 DB:-- | 2 | 1 | fIORead | BC | W | |||||||||||||||||||||||||||||
| 845 | #041H T7 AB:000 DB:-- RD IORQ | 2 | 2 | fIORead | B | > | alu | >s0 | 0 | bus | L | ADD | * | NEG_OP2 | |||||||||||||||||||||
| 846 | #042H T8 AB:000 DB:-- RD IORQ | 2 | 3 | fIORead | B | < | alu | < | res | H | ADD | * | * | * | NEG_OP2 | ||||||||||||||||||||
| 847 | #043H T9 AB:000 DB:-- RD IORQ | 2 | 4 | fIORead | mw | d | < | R | alu | >s0 | bus | S | NEG_OP2 | ||||||||||||||||||||||
| 848 | #044H T10 AB:000 DB:-- | 3 | 1 | fMWrite | HL | W | |||||||||||||||||||||||||||||
| 849 | #045H T11 AB:000 DB:B1 MREQ | 3 | 2 | fMWrite | HL | op3 | R | ||||||||||||||||||||||||||||
| 850 | #046H T12 AB:000 DB:B1 MREQ WR | 3 | 3 | fMWrite | Y | BZ | |||||||||||||||||||||||||||||
| 851 | #047H T13 AB:000 DB:-- | 4 | 1 | PC | W | ||||||||||||||||||||||||||||||
| 852 | #048H T14 AB:000 DB:-- | 4 | 2 | PC | - | R | |||||||||||||||||||||||||||||
| 853 | #049H T15 AB:000 DB:-- | 4 | 3 | PC | W | ||||||||||||||||||||||||||||||
| 854 | #050H T16 AB:000 DB:-- | 4 | 4 | PC | - | R | |||||||||||||||||||||||||||||
| 855 | #051H T17 AB:000 DB:-- | 4 | 5 | Y | |||||||||||||||||||||||||||||||
| 856 | #end | ||||||||||||||||||||||||||||||||||
| 857 | |||||||||||||||||||||||||||||||||||
| 858 | #if pla[91] & pla[20] : outi/outir/outd/outdr | 5,4,3,(5) | |||||||||||||||||||||||||||||||||
| 859 | #035H T1 AB:00A DB:-- M1 | 1 | 1 | fMFetch | alu | < | res | H | XOR | P | |||||||||||||||||||||||||
| 860 | #036H T2 AB:00A DB:B3 M1 MREQ RD | 1 | 2 | fMFetch | F | < | < | ||||||||||||||||||||||||||||
| 861 | #037H T3 AB:004 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 862 | #038H T4 AB:004 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | B | > | alu | >s0 | 0 | bus | L | ADD | * | NEG_OP2 | ||||||||||||||||||||
| 863 | #039H T5 AB:004 DB:-- | 1 | 5 | mr | B | < | alu | < | res | H | ADD | * | * | NEG_OP2 | |||||||||||||||||||||
| 864 | #040H T6 AB:000 DB:-- | 2 | 1 | fMRead | HL | W | |||||||||||||||||||||||||||||
| 865 | #041H T7 AB:000 DB:21 MREQ RD | 2 | 2 | fMRead | HL | op3 | R | ||||||||||||||||||||||||||||
| 866 | #042H T8 AB:000 DB:21 MREQ RD | 2 | 3 | fMRead | iow | L | >l | d | >s0 | bus | |||||||||||||||||||||||||
| 867 | #043H T9 AB:000 DB:-- | 3 | 1 | fIOWrite | BC | W | |||||||||||||||||||||||||||||
| 868 | #044H T10 AB:000 DB:21 WR IORQ | 3 | 2 | fIOWrite | d | < | R | alu | >s0 | bus | L | ADD | * | S | |||||||||||||||||||||
| 869 | #045H T11 AB:000 DB:21 WR IORQ | 3 | 3 | fIOWrite | alu | < | res | H | ADD | * | |||||||||||||||||||||||||
| 870 | #046H T12 AB:000 DB:21 WR IORQ | 3 | 4 | fIOWrite | Y | BZ | |||||||||||||||||||||||||||||
| 871 | #047H T13 AB:000 DB:-- | 4 | 1 | PC | W | ||||||||||||||||||||||||||||||
| 872 | #048H T14 AB:000 DB:-- | 4 | 2 | PC | - | R | |||||||||||||||||||||||||||||
| 873 | #049H T15 AB:000 DB:-- | 4 | 3 | PC | W | ||||||||||||||||||||||||||||||
| 874 | #050H T16 AB:000 DB:-- | 4 | 4 | PC | - | R | |||||||||||||||||||||||||||||
| 875 | #051H T17 AB:000 DB:-- | 4 | 5 | Y | |||||||||||||||||||||||||||||||
| 876 | #end | ||||||||||||||||||||||||||||||||||
| 877 | |||||||||||||||||||||||||||||||||||
| 878 | // Jump Group | ||||||||||||||||||||||||||||||||||
| 879 | |||||||||||||||||||||||||||||||||||
| 880 | #if pla[29] : jp nn | 4,3,3 | |||||||||||||||||||||||||||||||||
| 881 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 882 | #002H T2 AB:000 DB:C3 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 883 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 884 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 885 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 886 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 887 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 888 | #008H T8 AB:002 DB:-- | 3 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 889 | #009H T9 AB:002 DB:02 MREQ RD | 3 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 890 | #010H T10 AB:002 DB:02 MREQ RD | 3 | 3 | fMRead | Y | WZ | W | W | <h | d | < | R | NOT_PC! | ||||||||||||||||||||||
| 891 | #end | ||||||||||||||||||||||||||||||||||
| 892 | |||||||||||||||||||||||||||||||||||
| 893 | #if pla[43] : jp cc,nn | 4,3,3 | |||||||||||||||||||||||||||||||||
| 894 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 895 | #002H T2 AB:000 DB:C2 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 896 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 897 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 898 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 899 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 900 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 901 | #008H T8 AB:002 DB:-- | 3 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 902 | #009H T9 AB:002 DB:02 MREQ RD | 3 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 903 | #010H T10 AB:002 DB:02 MREQ RD | 3 | 3 | fMRead | Y | WZ? | W | W? | <h | d | < | R | Select WZ if condition is true | ||||||||||||||||||||||
| 904 | #end | ||||||||||||||||||||||||||||||||||
| 905 | |||||||||||||||||||||||||||||||||||
| 906 | #if pla[47] : jr e | 4,3,5 | |||||||||||||||||||||||||||||||||
| 907 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 908 | #002H T2 AB:000 DB:18 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 909 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 910 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 911 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 912 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 913 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | Y | ||||||||||||||||||||||||||||||
| 914 | #008H T8 AB:001 DB:-- | 3 | 1 | d | < | R | alu | >s0 | bus | * | Reads "e" from the data latch | ||||||||||||||||||||||||
| 915 | #009H T9 AB:001 DB:-- | 3 | 2 | PCl | >l | d | alu | >s0 | bus | L | ADD | * | |||||||||||||||||||||||
| 916 | #010H T10 AB:001 DB:-- | 3 | 3 | Z | <l | u | alu | < | res | H | ADD | * | |||||||||||||||||||||||
| 917 | #011H T11 AB:001 DB:-- | 3 | 4 | PCh | > | alu | >s0 | 0 | bus | L | ADC | * | ?SF_NEG | ||||||||||||||||||||||
| 918 | #012H T12 AB:001 DB:-- | 3 | 5 | Y | WZ | W | W | <h | alu | < | res | H | ADC | ?SF_NEG, NOT_PC! | |||||||||||||||||||||
| 919 | #end | ||||||||||||||||||||||||||||||||||
| 920 | |||||||||||||||||||||||||||||||||||
| 921 | #if pla[48] : jr ss,e | 4,3,(5) | |||||||||||||||||||||||||||||||||
| 922 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 923 | #002H T2 AB:000 DB:20 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 924 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 925 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | CondShort | M1/T4 evaluates a condition: force short | |||||||||||||||||||||||||||
| 926 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 927 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 928 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | Y | SS | |||||||||||||||||||||||||||||
| 929 | #008H T8 AB:001 DB:-- | 3 | 1 | d | < | R | alu | >s0 | bus | * | Reads "e" from the data latch | ||||||||||||||||||||||||
| 930 | #009H T9 AB:001 DB:-- | 3 | 2 | PCl | >l | d | alu | >s0 | bus | L | ADD | * | |||||||||||||||||||||||
| 931 | #010H T10 AB:001 DB:-- | 3 | 3 | Z | <l | u | alu | < | res | H | ADD | * | |||||||||||||||||||||||
| 932 | #011H T11 AB:001 DB:-- | 3 | 4 | PCh | > | alu | >s0 | 0 | bus | L | ADC | * | ?SF_NEG | ||||||||||||||||||||||
| 933 | #012H T12 AB:001 DB:-- | 3 | 5 | Y | WZ | W | W | <h | alu | < | res | H | ADC | ?SF_NEG, NOT_PC! | |||||||||||||||||||||
| 934 | #end | ||||||||||||||||||||||||||||||||||
| 935 | |||||||||||||||||||||||||||||||||||
| 936 | #if pla[6] : jp hl | 4 | |||||||||||||||||||||||||||||||||
| 937 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 938 | #002H T2 AB:000 DB:E9 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 939 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 940 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | HL | W | NOT_PC! | ||||||||||||||||||||||||||
| 941 | #end | ||||||||||||||||||||||||||||||||||
| 942 | |||||||||||||||||||||||||||||||||||
| 943 | #if pla[26] : djnz e | 5,3,(5) | |||||||||||||||||||||||||||||||||
| 944 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 945 | #002H T2 AB:000 DB:10 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 946 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 947 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | B | >h | alu | >s0 | 0 | bus | L | ADD | * | NEG_OP2 | B=B-1 | |||||||||||||||||||
| 948 | #005H T5 AB:000 DB:-- | 1 | 5 | mr | B | < | alu | < | res | H | ADD | * | NEG_OP2 | ||||||||||||||||||||||
| 949 | #006H T6 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 950 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 951 | #008H T8 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | Y | ZF | |||||||||||||||||||||||||||||
| 952 | #009H T9 AB:001 DB:-- | 3 | 1 | d | < | R | alu | >s0 | bus | * | Reads "e" from the data latch | ||||||||||||||||||||||||
| 953 | #010H T10 AB:001 DB:-- | 3 | 2 | PCl | >l | d | alu | >s0 | bus | L | ADD | * | |||||||||||||||||||||||
| 954 | #011H T11 AB:001 DB:-- | 3 | 3 | Z | <l | u | alu | < | res | H | ADD | * | |||||||||||||||||||||||
| 955 | #012H T12 AB:001 DB:-- | 3 | 4 | PCh | >h | alu | >s0 | 0 | bus | L | ADC | * | ?SF_NEG | ||||||||||||||||||||||
| 956 | #013H T13 AB:001 DB:-- | 3 | 5 | Y | WZ | W | W | <h | alu | < | res | H | ADC | ?SF_NEG, NOT_PC! | |||||||||||||||||||||
| 957 | #end | ||||||||||||||||||||||||||||||||||
| 958 | |||||||||||||||||||||||||||||||||||
| 959 | // Call and Return Group | ||||||||||||||||||||||||||||||||||
| 960 | |||||||||||||||||||||||||||||||||||
| 961 | #if pla[24] : call nn | 4,3,4,3,3 | |||||||||||||||||||||||||||||||||
| 962 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 963 | #002H T2 AB:000 DB:CD M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 964 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 965 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 966 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 967 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 968 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 969 | #008H T8 AB:002 DB:-- | 3 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 970 | #009H T9 AB:002 DB:02 MREQ RD | 3 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 971 | #010H T10 AB:002 DB:02 MREQ RD | 3 | 3 | fMRead | W | <h | d | < | R | ||||||||||||||||||||||||||
| 972 | #011H T11 AB:002 DB:-- | 3 | 4 | mw | SP | - | W | ||||||||||||||||||||||||||||
| 973 | #012H T12 AB:000 DB:-- | 4 | 1 | fMWrite | - | P | PCh | >h | u | > | W | ||||||||||||||||||||||||
| 974 | #013H T13 AB:000 DB:00 MREQ | 4 | 2 | fMWrite | SP | - | R | ||||||||||||||||||||||||||||
| 975 | #014H T14 AB:000 DB:00 MREQ WR | 4 | 3 | fMWrite | mw | SP | - | W | |||||||||||||||||||||||||||
| 976 | #015H T15 AB:0FF DB:-- | 5 | 1 | fMWrite | - | P | PCl | >l | > | W | |||||||||||||||||||||||||
| 977 | #016H T16 AB:0FF DB:03 MREQ | 5 | 2 | fMWrite | SP | - | R | ||||||||||||||||||||||||||||
| 978 | #017H T17 AB:0FF DB:03 MREQ WR | 5 | 3 | fMWrite | Y | WZ | W | NOT_PC! | |||||||||||||||||||||||||||
| 979 | #end | ||||||||||||||||||||||||||||||||||
| 980 | |||||||||||||||||||||||||||||||||||
| 981 | #if pla[42] : call cc,nn | 4,3,3/(4,3,4,3,3) | |||||||||||||||||||||||||||||||||
| 982 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 983 | #002H T2 AB:000 DB:C4 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 984 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 985 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 986 | #005H T5 AB:001 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 987 | #006H T6 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 988 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 989 | #008H T8 AB:002 DB:-- | 3 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 990 | #009H T9 AB:002 DB:02 MREQ RD | 3 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 991 | #010H T10 AB:002 DB:02 MREQ RD | 3 | 3 | fMRead | CC | CC | W? | <h | d | < | R | Load W only if condition is true | |||||||||||||||||||||||
| 992 | #011H T11 AB:002 DB:-- | 3 | 4 | mw | SP | - | W | ||||||||||||||||||||||||||||
| 993 | #012H T12 AB:000 DB:-- | 4 | 1 | fMWrite | - | P | PCh | >h | u | > | W | ||||||||||||||||||||||||
| 994 | #013H T13 AB:000 DB:00 MREQ | 4 | 2 | fMWrite | SP | - | R | ||||||||||||||||||||||||||||
| 995 | #014H T14 AB:000 DB:00 MREQ WR | 4 | 3 | fMWrite | mw | SP | - | W | |||||||||||||||||||||||||||
| 996 | #015H T15 AB:0FF DB:-- | 5 | 1 | fMWrite | - | P | PCl | >l | > | W | |||||||||||||||||||||||||
| 997 | #016H T16 AB:0FF DB:03 MREQ | 5 | 2 | fMWrite | SP | - | R | ||||||||||||||||||||||||||||
| 998 | #017H T17 AB:0FF DB:03 MREQ WR | 5 | 3 | fMWrite | Y | WZ | W | NOT_PC! | |||||||||||||||||||||||||||
| 999 | #end | ||||||||||||||||||||||||||||||||||
| 1000 | |||||||||||||||||||||||||||||||||||
| 1001 | #if pla[35] : ret | 4,3,3 | |||||||||||||||||||||||||||||||||
| 1002 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 1003 | #002H T2 AB:000 DB:C9 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 1004 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 1005 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 1006 | #005H T5 AB:0FF DB:-- | 2 | 1 | fMRead | SP | W | |||||||||||||||||||||||||||||
| 1007 | #006H T6 AB:0FF DB:01 MREQ RD | 2 | 2 | fMRead | SP | + | R | ||||||||||||||||||||||||||||
| 1008 | #007H T7 AB:0FF DB:01 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 1009 | #008H T8 AB:000 DB:-- | 3 | 1 | fMRead | SP | W | |||||||||||||||||||||||||||||
| 1010 | #009H T9 AB:000 DB:C9 MREQ RD | 3 | 2 | fMRead | SP | + | R | ||||||||||||||||||||||||||||
| 1011 | #010H T10 AB:000 DB:C9 MREQ RD | 3 | 3 | fMRead | Y | WZ | W | W | <h | d | < | R | NOT_PC! | ||||||||||||||||||||||
| 1012 | #end | ||||||||||||||||||||||||||||||||||
| 1013 | |||||||||||||||||||||||||||||||||||
| 1014 | #if pla[45] : ret cc | 5/(5,3,3) | |||||||||||||||||||||||||||||||||
| 1015 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 1016 | #002H T2 AB:000 DB:C0 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 1017 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | |||||||||||||||||||
| 1018 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | ||||||||||||||||||||||||||||||
| 1019 | #005H T5 AB:000 DB:-- | 1 | 5 | mr | CC | ||||||||||||||||||||||||||||||
| 1020 | #006H T6 AB:001 DB:-- | 2 | 1 | fMRead | SP | W | |||||||||||||||||||||||||||||
| 1021 | #007H T7 AB:001 DB:01 MREQ RD | 2 | 2 | fMRead | SP | + | R | ||||||||||||||||||||||||||||
| 1022 | #008H T8 AB:001 DB:01 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 1023 | #009H T9 AB:002 DB:-- | 3 | 1 | fMRead | SP | W | |||||||||||||||||||||||||||||
| 1024 | #010H T10 AB:002 DB:02 MREQ RD | 3 | 2 | fMRead | SP | + | R | ||||||||||||||||||||||||||||
| 1025 | #011H T11 AB:002 DB:02 MREQ RD | 3 | 3 | fMRead | Y | WZ | W | W | <h | d | < | R | NOT_PC! | ||||||||||||||||||||||
| 1026 | #end | ||||||||||||||||||||||||||||||||||
| 1027 | |||||||||||||||||||||||||||||||||||
| 1028 | #if pla[46] : reti/retn | 4,3,3 | |||||||||||||||||||||||||||||||||
| 1029 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 1030 | #006H T2 AB:001 DB:45 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 1031 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 1032 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | RETN | IFF1<=IFF2 | |||||||||||||||||||||||||||
| 1033 | #009H T5 AB:001 DB:-- | 2 | 1 | fMRead | SP | W | |||||||||||||||||||||||||||||
| 1034 | #010H T6 AB:001 DB:45 MREQ RD | 2 | 2 | fMRead | SP | + | R | ||||||||||||||||||||||||||||
| 1035 | #011H T7 AB:001 DB:45 MREQ RD | 2 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 1036 | #012H T8 AB:002 DB:-- | 3 | 1 | fMRead | SP | W | |||||||||||||||||||||||||||||
| 1037 | #013H T9 AB:002 DB:01 MREQ RD | 3 | 2 | fMRead | SP | + | R | ||||||||||||||||||||||||||||
| 1038 | #014H T10 AB:002 DB:01 MREQ RD | 3 | 3 | fMRead | Y | WZ | W | W | <h | d | < | R | NOT_PC! | ||||||||||||||||||||||
| 1039 | #end | ||||||||||||||||||||||||||||||||||
| 1040 | |||||||||||||||||||||||||||||||||||
| 1041 | #if pla[56] : rst p | 5,3,3 | |||||||||||||||||||||||||||||||||
| 1042 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 1043 | #002H T2 AB:000 DB:C7 M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 1044 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | WZ | < | R | < | op1 | 0 | MASK_543, RST_NMI, RST_INT | RST instruction also executes on NMI and INT | |||||||||||||||||||||||
| 1045 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | ||||||||||||||||||||||||||||||
| 1046 | #005H T5 AB:000 DB:-- | 1 | 5 | mw | SP | - | W | d | < | R | >s0 | bus | Store im2 vector into the ALU op1 | ||||||||||||||||||||||
| 1047 | #006H T6 AB:000 DB:-- | 2 | 1 | fMWrite | - | P | PCh | >h | u | > | W | ||||||||||||||||||||||||
| 1048 | #007H T7 AB:000 DB:00 MREQ | 2 | 2 | fMWrite | SP | - | R | ||||||||||||||||||||||||||||
| 1049 | #008H T8 AB:000 DB:00 MREQ WR | 2 | 3 | fMWrite | mw | SP | - | W | |||||||||||||||||||||||||||
| 1050 | #009H T9 AB:0FF DB:-- | 3 | 1 | fMWrite | - | P | PCl | >l | > | W | |||||||||||||||||||||||||
| 1051 | #010H T10 AB:0FF DB:01 MREQ | 3 | 2 | fMWrite | SP | - | R | ||||||||||||||||||||||||||||
| 1052 | #011H T11 AB:0FF DB:01 MREQ WR | 3 | 3 | fMWrite | INT | INT | WZ | W | NOT_PC! | Value on the bus into ALU OP | |||||||||||||||||||||||||
| 1053 | // INTR IM2 continues here... | Extension for IM2 interrupt mode | |||||||||||||||||||||||||||||||||
| 1054 | #012H T12 AB:001 DB:-- | 4 | 1 | fMRead | I* | W | <l | u | < | op1 | |||||||||||||||||||||||||
| 1055 | #013H T13 AB:001 DB:01 MREQ RD | 4 | 2 | fMRead | > | + | R | >l | d | >s0 | bus | ||||||||||||||||||||||||
| 1056 | #014H T14 AB:001 DB:01 MREQ RD | 4 | 3 | fMRead | mr | Z | <l | d | < | R | |||||||||||||||||||||||||
| 1057 | #015H T15 AB:002 DB:-- | 5 | 1 | fMRead | I* | W | <l | u | < | op1 | |||||||||||||||||||||||||
| 1058 | #016H T16 AB:002 DB:02 MREQ RD | 5 | 2 | fMRead | + | R | |||||||||||||||||||||||||||||
| 1059 | #017H T17 AB:002 DB:02 MREQ RD | 5 | 3 | fMRead | Y | WZ | W | W | <h | d | < | R | NOT_PC! | ||||||||||||||||||||||
| 1060 | #end | ||||||||||||||||||||||||||||||||||
| 1061 | |||||||||||||||||||||||||||||||||||
| 1062 | // CB-Table opcodes | ||||||||||||||||||||||||||||||||||
| 1063 | |||||||||||||||||||||||||||||||||||
| 1064 | #if pla[49] : Every CB with IX/IY | 4,3,5,+ | |||||||||||||||||||||||||||||||||
| 1065 | #005H T1 AB:001 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 1066 | #006H T2 AB:001 DB:CB M1 MREQ RD | 1 | 2 | fMFetch | |||||||||||||||||||||||||||||||
| 1067 | #007H T3 AB:001 DB:-- RFSH | 1 | 3 | fMFetch | AF | > | > | >s0 | bus | bus | * | * | * | * | * | * | CB | ||||||||||||||||||
| 1068 | #008H T4 AB:001 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | mr | |||||||||||||||||||||||||||||
| 1069 | #009H T5 AB:002 DB:-- | 2 | 1 | fMRead | PC | W | |||||||||||||||||||||||||||||
| 1070 | #010H T6 AB:002 DB:01 MREQ RD | 2 | 2 | fMRead | PC | + | R | ||||||||||||||||||||||||||||
| 1071 | #011H T7 AB:002 DB:01 MREQ RD | 2 | 3 | fMRead | mr | ||||||||||||||||||||||||||||||
| 1072 | #012H T8 AB:003 DB:-- | 3 | 1 | fMRead | PC | W | WZ=IX+d | ||||||||||||||||||||||||||||
| 1073 | #013H T9 AB:003 DB:00 MREQ RD | 3 | 2 | fMRead | PC | + | R | WZ=IX+d | |||||||||||||||||||||||||||
| 1074 | #014H T10 AB:003 DB:00 MREQ RD | 3 | 3 | fMRead | WZ=IX+d | Loads the opcode byte in parallel | |||||||||||||||||||||||||||||
| 1075 | #015H T11 AB:003 DB:-- | 3 | 4 | WZ=IX+d | |||||||||||||||||||||||||||||||
| 1076 | #016H T12 AB:003 DB:-- | 3 | 5 | mr | WZ=IX+d | ||||||||||||||||||||||||||||||
| 1077 | #017H T13 AB:000 DB:-- | 4 | 1 | R | >bs | bus | bus | OpcodeToIR | Loads instruction register; starts the execute cycle | ||||||||||||||||||||||||||
| 1078 | // Loading a new instruction immediately changes PLA wires and continues into the new effective instructions' M4/T1 cycle | ||||||||||||||||||||||||||||||||||
| 1079 | #end | ||||||||||||||||||||||||||||||||||
| 1080 | |||||||||||||||||||||||||||||||||||
| 1081 | // Special Purposes PLA Entries | ||||||||||||||||||||||||||||||||||
| 1082 | |||||||||||||||||||||||||||||||||||
| 1083 | #if pla[3] : IX/IY | 4 | |||||||||||||||||||||||||||||||||
| 1084 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 1085 | #002H T2 AB:000 DB:DD M1 MREQ RD | 1 | 2 | fMFetch | IX_IY | ||||||||||||||||||||||||||||||
| 1086 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 1087 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | NO_INTS | At last M/T, inhibit interrupts | |||||||||||||||||||||||||||
| 1088 | #end | ||||||||||||||||||||||||||||||||||
| 1089 | |||||||||||||||||||||||||||||||||||
| 1090 | #if pla[44] : CB prefix | 4 | |||||||||||||||||||||||||||||||||
| 1091 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 1092 | #002H T2 AB:000 DB:CB M1 MREQ RD | 1 | 2 | fMFetch | CB | ||||||||||||||||||||||||||||||
| 1093 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 1094 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | NO_INTS | At last M/T, inhibit interrupts | |||||||||||||||||||||||||||
| 1095 | #end Only set CB ff and clear ED, XX ff | ||||||||||||||||||||||||||||||||||
| 1096 | |||||||||||||||||||||||||||||||||||
| 1097 | #if pla[51] : ED prefix | 4 | |||||||||||||||||||||||||||||||||
| 1098 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | |||||||||||||||||||||||||||||||
| 1099 | #002H T2 AB:000 DB:ED M1 MREQ RD | 1 | 2 | fMFetch | ED | ||||||||||||||||||||||||||||||
| 1100 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | |||||||||||||||||||||||||||||||
| 1101 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | Y | Y | NO_INTS | At last M/T, inhibit interrupts | |||||||||||||||||||||||||||
| 1102 | #end Only set ED ff and clear CB, XX ff | ||||||||||||||||||||||||||||||||||
| 1103 | |||||||||||||||||||||||||||||||||||
| 1104 | #if pla[76] : ALU CP | ||||||||||||||||||||||||||||||||||
| 1105 | #always | CP | 1 | ||||||||||||||||||||||||||||||||
| 1106 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | V | Update P/V once on a high nibble phase | |||||||||||||||||||||||||||||
| 1107 | #end | Does not store the result! | |||||||||||||||||||||||||||||||||
| 1108 | |||||||||||||||||||||||||||||||||||
| 1109 | #if pla[78] : ALU SUB | ||||||||||||||||||||||||||||||||||
| 1110 | #always | SUB | 1 | ||||||||||||||||||||||||||||||||
| 1111 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | * | V | Update P/V and store result to A | ||||||||||||||||||||||||||
| 1112 | #end | ||||||||||||||||||||||||||||||||||
| 1113 | |||||||||||||||||||||||||||||||||||
| 1114 | #if pla[79] : ALU SBC | ||||||||||||||||||||||||||||||||||
| 1115 | #always | SBC | 1 | ||||||||||||||||||||||||||||||||
| 1116 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | * | V | Update P/V and store result to A | ||||||||||||||||||||||||||
| 1117 | #end | ||||||||||||||||||||||||||||||||||
| 1118 | |||||||||||||||||||||||||||||||||||
| 1119 | #if pla[80] : ALU ADC | ||||||||||||||||||||||||||||||||||
| 1120 | #always | ADC | 0 | ||||||||||||||||||||||||||||||||
| 1121 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | * | V | Update P/V and store result to A | ||||||||||||||||||||||||||
| 1122 | #end | ||||||||||||||||||||||||||||||||||
| 1123 | |||||||||||||||||||||||||||||||||||
| 1124 | #if pla[84] : ALU ADD | ||||||||||||||||||||||||||||||||||
| 1125 | #always | ADD | 0 | ||||||||||||||||||||||||||||||||
| 1126 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | * | V | Update P/V and store result to A | ||||||||||||||||||||||||||
| 1127 | #end | ||||||||||||||||||||||||||||||||||
| 1128 | |||||||||||||||||||||||||||||||||||
| 1129 | #if pla[85] : ALU AND | ||||||||||||||||||||||||||||||||||
| 1130 | #always | AND | 0 | ||||||||||||||||||||||||||||||||
| 1131 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | * | P | Update P/V and store result to A | ||||||||||||||||||||||||||
| 1132 | #002H T2 AB:000 DB:A0 M1 MREQ RD | 1 | 2 | fMFetch | 0 | AND clears CF | |||||||||||||||||||||||||||||
| 1133 | #end | ||||||||||||||||||||||||||||||||||
| 1134 | |||||||||||||||||||||||||||||||||||
| 1135 | #if pla[86] : ALU OR | ||||||||||||||||||||||||||||||||||
| 1136 | #always | OR | 0 | ||||||||||||||||||||||||||||||||
| 1137 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | * | P | Update P/V and store result to A | ||||||||||||||||||||||||||
| 1138 | #002H T2 AB:000 DB:B0 M1 MREQ RD | 1 | 2 | fMFetch | 0 | OR clears CF | |||||||||||||||||||||||||||||
| 1139 | #end | ||||||||||||||||||||||||||||||||||
| 1140 | |||||||||||||||||||||||||||||||||||
| 1141 | #if pla[88] : ALU XOR | ||||||||||||||||||||||||||||||||||
| 1142 | #always | XOR | 0 | ||||||||||||||||||||||||||||||||
| 1143 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | A | < | * | P | Update P/V and store result to A | ||||||||||||||||||||||||||
| 1144 | #002H T2 AB:000 DB:A8 M1 MREQ RD | 1 | 2 | fMFetch | 0 | XOR clears CF | |||||||||||||||||||||||||||||
| 1145 | #end | ||||||||||||||||||||||||||||||||||
| 1146 | |||||||||||||||||||||||||||||||||||
| 1147 | // State machine to compute (IX+d) | ||||||||||||||||||||||||||||||||||
| 1148 | #if ixy_d : Compute WZ=IX+d | ||||||||||||||||||||||||||||||||||
| 1149 | #001H T1 any M-cycle | ? | 1 | d | < | R | alu | >s0 | bus | * | Reads "d" from the data latch | ||||||||||||||||||||||||
| 1150 | #002H T2 | ? | 2 | L | >l | d | alu | >s0 | bus | L | ADD | * | |||||||||||||||||||||||
| 1151 | #003H T3 | ? | 3 | Z | <l | u | alu | < | res | H | ADC | W | |||||||||||||||||||||||
| 1152 | #004H T4 | ? | 4 | H | > | alu | >s0 | 0 | bus | L | ADC | * | R | ?SF_NEG | Stores result into WZ | ||||||||||||||||||||
| 1153 | #005H T5 | ? | 5 | WZ | W | W | <h | alu | < | res | H | ADC | * | ?SF_NEG, CLR_IX_IY | and disables any further use of IX/IY | ||||||||||||||||||||
| 1154 | #end | ||||||||||||||||||||||||||||||||||
| 1155 | |||||||||||||||||||||||||||||||||||
| 1156 | // Default instruction fetch (M1) state machine | ||||||||||||||||||||||||||||||||||
| 1157 | #if 1 : | ||||||||||||||||||||||||||||||||||
| 1158 | #001H T1 AB:000 DB:-- M1 | 1 | 1 | fMFetch | PC | + | RL | Fetch/execute overlap | |||||||||||||||||||||||||||
| 1159 | #002H T2 AB:000 DB:CB M1 MREQ RD | 1 | 2 | fMFetch | IR | W | R | CLR_IX_IY, CLR_CB_ED, OpcodeToIR, OverrideIR | Prepares for the next execution cycle | ||||||||||||||||||||||||||
| 1160 | #003H T3 AB:000 DB:-- RFSH | 1 | 3 | fMFetch | IR | + | RL | Limit6 | Fetch opcode, evaluate flags | ||||||||||||||||||||||||||
| 1161 | #004H T4 AB:000 DB:-- RFSH MREQ | 1 | 4 | fMFetch | EvalCond | ||||||||||||||||||||||||||||||
| 1162 | #end | ||||||||||||||||||||||||||||||||||
| 1163 | |||||||||||||||||||||||||||||||||||
| 1164 | // For all undecoded instructions, at M1/T4 advance a byte to the next opcode | ||||||||||||||||||||||||||||||||||
| 1165 | #if ~validPLA : A catch-all case | ||||||||||||||||||||||||||||||||||
| 1166 | #001H | 1 | 4 | Y | |||||||||||||||||||||||||||||||
| 1167 | #end | ||||||||||||||||||||||||||||||||||
| 1168 | |||||||||||||||||||||||||||||||||||
| 1169 | // The last cycle of an instruction is also the first cycle of the next one | ||||||||||||||||||||||||||||||||||
| 1170 | #if setM1 : | ||||||||||||||||||||||||||||||||||
| 1171 | #always | PC | W | Fetch/execute overlap | |||||||||||||||||||||||||||||||
| 1172 | #end |