Changes

Jump to: navigation, search

FPGAmstrad

493 bytes added, 16:56, 18 September 2017
/* Some bad instruction timing analysis */
! Hex !! Inst !! CPC timing !! MEM_wr:quick !! MEM_wr:slow !! remark
|-
| 02 || LD (BC), A || 2 || || 3 || Normaly MEM_WR access is not prolongatedFixed on r005.This instruction should certainly launch write since first step8.16c3
|-
| 10 || DJNZ, e || 4/3 || 4/2 || 4/2
|-
| 12 || LD (DE), A || 2 || || 3|| Fixed on r005.8.16c3
|-
| 22 || LD (nn), HL || 5 || 4 || 6 || In fact this instruction does launch two MEM_WR,and seems prolongated one more timesFixed on r005.Quick is correctly implemented here8.16c3
|-
| 2A || LD HL, (nn) || 5 || 4 || 4 || MEM_WR not used by here, it seems correct following doc : 4+3+3+3+3=16, 16/4=4. Damn
|-
| 32 || LD (nn), A || 4 || || 5 || 4+3+3+3=13<4*4, is MEM_WR prologation less that 4T ?Fixed on r005.8.16c3
|-
| 34 || INC (HL) || 3 || || 4 || 4+4+3=11<3*4, is MEM_WR prologation less that 4T ? equals 1T ?Fixed on r005.8.16c3
|-
| 35 || || 3 || || 4|| Fixed on r005.8.16c3
|-
| 36 || || 3 || || 4|| Fixed on r005.8.16c3
|-
| 70 || || 2 || || 3|| Fixed on r005.8.16c3
|-
| 71 || || 2 || || 3|| Fixed on r005.8.16c3
|-
| 72 || || 2 || || 3|| Fixed on r005.8.16c3
|-
| 73 || || 2 || || 3|| Fixed on r005.8.16c3
|-
| 74 || || 2 || || 3|| Fixed on r005.8.16c3
|-
| 75 || || 2 || || 3|| Fixed on r005.8.16c3
|-
| 77 || || 2 || || 3|| Fixed on r005.8.16c3
|-
| C0 || || 2/4 || 2/3 || 2/3
|-
| C4 || || 3/5 || || 3/6|| Fixed on r005.8.16c3
|-
| C5 || PUSH bc || 4 || 3 || || PUSH qq (same as F5), ok using MEM_wr:low
|-
| C7 || || 4 || 3 || 3|| Fixed on r005.8.16c3
|-
| C8 || || 4/2 || 3/2 || 3/2
|-
| CC || || 5/3 || 5/3 || 6/3|| Fixed on r005.8.16c3
|-
| CD || || 5 || || 6|| Fixed on r005.8.16c3
|-
| CF || || 4 || 3 || 3|| Fixed on r005.8.16c3
|-
| D0 || || 2/4 || 2/3 || 2/3
|-
| D4 || || 3/5 || || 3/6|| Fixed on r005.8.16c3
|-
| D5|| PUSH de || 4 || 3 || || PUSH qq (same as F5), ok using MEM_wr:low
|-
| D7 || || 4 || 3 || 3|| Fixed on r005.8.16c3
|-
| D8 || || 4/2 || 3/2 || 3/2
|-
| DC || || 5/3 || || 6/3|| Fixed on r005.8.16c3
|-
| DF || || 4 || 3 || 3|| Fixed on r005.8.16c3
|-
| E0 || || 2/4 || 2/3 || 2/3
|-
| E3 || || 6 || 5 || 6|| Fixed on r005.8.16c3
|-
| E4 || || 3/5 || || 3/6|| Fixed on r005.8.16c3
|-
| E5 || PUSH hl || 4 || 3 || PUSH qq (same as F5), ok using MEM_wr:low
|-
| E7 || || 4 || 3 || 3|| Fixed on r005.8.16c3
|-
| E8 || || 4/2 || 3/2 || 3/2
|-
| EC || || 5/3 || || 6/3|| Fixed on r005.8.16c3
|-
| EF || || 4 || 3 || 3|| Fixed on r005.8.16c3
|-
| F0 || || 2/4 || 2/3 || 2/3
|-
| F4 || || 3/5 || || 3/6|| Fixed on r005.8.16c3
|-
| F5 || PUSH af || 4 || 3 || || PUSH qq, 5+3+3=11<3*4, is MEM_WR prologation effective two times here 1T+1T ? yes : pushing a register pair here, ok using MEM_wr:low
|-
| F7 || || 4 || 3 || 3|| Fixed on r005.8.16c3
|-
| F8 || || 4/2 || 3/2 || 3/2
|-
| FC || || 5/3 || || 6/3|| Fixed on r005.8.16c3
|-
| FF || || 4 || 3 || 3|| Fixed on r005.8.16c3
|-
|}
1,200
edits