Stellarator/docs/adventure_pf_timing.txt
2016-12-23 17:26:57 -08:00

92 lines
2.3 KiB
Text

Playfield:
Register Block Pixel CPU
PF0 0 68 22
PF0 1 72 24
PF0 2 76 25
PF0 3 80 26
PF1 4 84 28
PF1 5 88 29
PF1 6 92 30
PF1 7 96 32
PF1 8 100 33
PF1 9 104 34
PF1 10 108 36
PF1 11 112 37
PF2 12 116 38
PF2 13 120 40
PF2 14 124 41
PF2 15 128 42
PF2 16 132 44
PF2 17 136 45
PF2 18 140 46
PF2 19 144 48
PF0 0 148 49
PF0 1 152 50
PF0 2 156 52
PF0 3 160 53
PF1 4 164 54
PF1 5 168 56
PF1 6 172 57
PF1 7 176 58
PF1 8 180 60
PF1 9 184 61
PF1 10 188 62
PF1 11 192 64
PF2 12 196 65
PF2 13 200 66
PF2 14 204 68
PF2 15 208 69
PF2 16 212 70
PF2 17 216 72
PF2 18 220 73
PF2 19 224 74
Debugger output from Adventure:
> u(row==214){s};q=t;u(row>214){p"time=",t-q," col=",col," bit=",(col-68)/4;l;s}
time=0 col=0 bit=-17
f099 84 1f sty 0x1f; ENABL
time=3 col=9 bit=-15
f09b 86 1b stx 0x1b; GRP0
time=6 col=18 bit=-13
f09d a4 8f ldy 0x8f
time=9 col=27 bit=-11
f09f b1 80 lda (0x80), Y
time=14 col=42 bit=-7
f0a1 85 0d sta 0xd; PF0
time=17 col=55 bit=-4
f0a3 c8 iny
time=19 col=57 bit=-3
f0a4 b1 80 lda (0x80), Y
time=24 col=72 bit=1
f0a6 85 0e sta 0xe; PF1
time=27 col=85 bit=4 ; 4.25 really
f0a8 c8 iny
time=29 col=87 bit=4
f0a9 b1 80 lda (0x80), Y
time=34 col=102 bit=8
f0ab 85 0f sta 0xf; PF2
time=37 col=115 bit=11
f0ad c8 iny
time=39 col=117 bit=12
f0ae 84 8f sty 0x8f
time=42 col=126 bit=14
f0b0 c6 8e dec 0x8e
time=47 col=141 bit=18
f0b2 a5 8e lda 0x8e
time=50 col=150 bit=20
f0b4 c9 08 cmp #0x8
time=52 col=156 bit=22
f0b6 10 a7 BPL 0xf05f
time=55 col=165 bit=24
f05f a5 8e lda 0x8e
time=58 col=174 bit=26
f061 38 SEC
time=60 col=180 bit=28
f062 e5 89 sbc 0x89
time=63 col=189 bit=30
f064 85 02 sta 0x2; WSYNC
By time we've executed that sta PF1 at F0A6 PF1 is already
being displayed. That explains the one pixel artifact I was
seeing.