EXTENDED CPC DSK File Disk-Info WinAPE 2.0B03 (Track-Info  RSHAKE24ABIN SHAKE24ABINMSHAKE24BBIN !"#$%&'()*+SHAKE24BBINE,-./01234SHAKE24CBIN56789:;<=>?@ABCDSHAKE24CBIN@EFGHIJKLSHAKE24DBINMNOPQRSTUVWXYZ[\SHAKE24DBIN/]^_`abSHAKER24BAScN!cFʙA!A ~ʞAñ@@"ASA!"!A~_#Vʱ@#"AAկ͠_>0{202Y2FX֞!Fss!AXs! Cs>s= T"YS[]^2c5c>aXe=fπ΀̀̀ˀ~dZsnx}_i ݕ "&kGGGGGJJJKKKQMqMxMMMSSST.OHSYNC DELAY< (2.1.0)(3 TST)(CAPS) INTERACTIVE TEST MODE X TO Y (16 INTERACTIVE TST)(TAB) HSYNC START POSITION (4 INTERACTIVE TST)(T) R2 UPD DURING & AFTER HSYNC (6 TST)(Y) R3 UPD DURING HSYNC (8 TST)(U) R4 & R9 CHECKING (54 TST)(I) VSYNC CONDITIONS (413 TST)(O) R1 STORIES (8 TST)(P) R6 STORIES (13 TST)(COPY) CRTC 2 OFFSETREAD THE COMPENDIUM: HTTPS://SHAKER.LOGONSYSTEM.FRC0vs=0 DEFINED WHEN VSYNC PPI.PORTB.0=1!"!oFϟG2F>?2FI͹II!͹sJ@͹0sJI$III!?@͹><2F:F <2J!H"{H!lJ" HT>2J!H"{H! J" H>22$J<>2J!12$J$!I"{H>2J!:J" H!I"{H>2J!XJ" H>2J>2H!GϟdHI͹I IJIA0sJII͹ JI(I sJ_͹III I͹1sJͯ͹GY!H*f!AX f!HpfI>GyR6 STORIES (3 RUPTURES ON SCREEN)T01-R6=0 IN 5 SEC. (PRESS SPACE, OR WAIT 4 SEC IN AUTO MODE)T02-50 L. PATCHWORK R6=0/8 FROM VERY 1ST LINE OF MIDDLE SCREEN RUPT (C4=0,C9=0)T03-50 L. PATCHWORK R6=0/8 FROM 2ND LINE OF MIDDLE SCREEN RUPTURE (CSHAKE24ABIN@eB@e>00|006ffff>fff<ll8lfff>|~L2~0123456789ABCDEF 0<3? ( ĐДԁ ( "*ç@I!@@II!@@I!m@.1͛@Aͧ!"!ע!BFʞA!CNʞA!BNʞA!pFʙA!BNʞA!$BFʞA!0BNʞA!%FʙA!R0T05-50 L. FROM 2ND LINE IN DISP AREA : PATCHWORK R6=0/R6=8 WHEN R1>R0><2J 2Hɾ̀>2qIqIqI=(͞qI!@ai͎>(y ͹I@II͘Y ͹ IQ IY>@2 K!-$"J> 2J19>B.>2 K!#"J>2J18>C>2 K!#"J> 2J09>A2PKy2]Kz2lK!JϟKI#͹I @IYIYIYIY(ͦ͹ͯ<͹̯Y!:K f!AXf!MKPfR6 STORIES -AGAIN-T06A-ON C4=9/C9=0 PATCHWORK R6=9/25 IN DISP AREA FO(1ST HALF SCR. OUTC/2ND HALF OUTI)R1 IO B >> R1>R0 >> R1=63 ON C0=63 (1ST HALF SCR. OUTC/2ND HALF OUTI)>7!C@>8!C?>9!C>>A!C=")TS7T2T!TϟGTGTIC͹IA@͹ͯ͹Y!pT f!AXf!Tf!TfR1TST : C4=R6-1, C9=R9, PREV R1=40, OUT R1>R0 ON C0vs=#25CRTC-VMA'=#C000+(80x24)CRTC-VMA'=#C000+(80x25)!TϟWI͹!>zUQ =( B>ͬUQ =(B> WO =(B>͓UQ =( ͯ. ͹TsR 64 LINES!@"L! "K!CM"0L!L"LL!%"L>!@"L! "K!CM"0L!L"LL!"L!@"L!"K!5M"0L!lL"LL!"L!Kϟ/LI͹IYIYIYIYI(ͦ@͹ͯH͹!5MɟY!UL f!AXf!lLPfR6 STORIES -LAST LINE-R6=0/FF FROM C0=2 ON C4=R4, C9=0..7, PREVIOUS R6=R4+1R6=0/FF FROM C0=2 IN V.ADJ ZONE (R5=16) (C4=fnc(CRTC)) PREVIOUS R6=R4+3R6=R4+1/FF FROM C0=2 IN V.ADJ ZONE (R5=16) (C4=fnc(CRTC)) PREVIOUS R6=R4+3?(.&'0?(.$'0>2M>2M!N"bN!q"M"M>E;>F4!N"bN!6|g  6s|g  U"U"(6#6+|g U"USZ6#6+|g !U"U"6#6+|g >"!V266|g> YV+6|g  II+6|g  >g6|g  6|g  76|g  76|g 46|g s*W+6+6##|g 1sPWU㾾6#6+|g 1!RW6#s#r#uW6#s#rsWR+6+6##|Q"M>E!>F>2M=2M!y"M>E!N"bN2Nx2 Ny25N!M:ϟI2IBNI͹! >aqiqIYͨ̀̀̀̀̀̀ͅq%aQiYQ>yI ͹Iͯ/͹MI>WyY!AXf!tNf!Nf!tNfBORDER STATE NOT IRREVERSIBLE: R6=0 ON LAST LINE C4=R6 ON C0=#3EREVERSE FROM C4=0,C9=0REVERSE FROM C4=0,C9=7REVERSE FROM C4=1,C9=3 .YOU SHOULDN'T BE ABLE TO READ THIS: EMUL BAD TRIP!!OP"LP!O"O !hP"LP!O"O!NOϟOI͹! ai$aY$a-i$aAg 166|g s6|g  >02X2 Y<_>42X>72X![Xf!X4P !Xf!X4P !Xf!X5P !Xf! Y4P CRTC x, TZSV V 1.1, PG 1LD(HL),A VS+6144us(+nx64),OFS PTR HL=00, A=#FFLD(aaaa),HL VS+6144us(+nx64),OFS PTR=00, H=#FF L=#55PUSH DE VS+6144us(+nx64),OFS PTR=00, D=#FF E=#55LD(HL),#FF VS+6144us(+nx64),OFS PTR HL=00!(YϟYI͹!>͌WQ =(!>ͯWQ =(!g>UQIQq͹!OI(>^Y͌#= Q͹! 0 aqiQ,iY$$aIͯ͹TO'&%$#"! @@@@@@@((((((((@YI>Wy!P f!AXf!f!4@f!Pf!Pf!P0fOP!P͙!PPf!Qf!͙!YQPf!Qf!͙!QPf!RfR1 STORIES(L1)AT #C000+(5x80)(L2)AT #C000+(6x80))(L3)AT #C000+(7x80))STORY 1 : UPDATE VMA/VMA' CONDITIONS - DISPEN OFF/ON COND.PROCESS : UPDATE R1 ON 16 LINES FROM L1 (R1=40-n, n=1..16)STORY 2 : R1 > R0 WHEN C9=R9 & C9<>R9PQ =(!>UQ =(!>VQ =( ͯ3 ͹.Y>72Z2Z2Z2[>52J[>2_!Zf!ZsZP !Zf!ZsZP !Zf!ZsZP !Zf![sZP !,[f!J[sZP ~<: >Aw~=@ >9wLD(IX+0),#FF OFFSET PTR IX=00LD(IX+0),E OFFSET PTR IX=00, E=#FFLD(aaaa),DE OFFSET PTR=00, D=#FF E=#55LD(aaaa),IX OFFSET PTR=00, IXH=#FF IXL=#55LD(aaaa),A OFFSET PTR=00, A=#FF!Y[ϟ \I͹!>Y>GyI( ͕RͶy >Wyͯ(͹WR.IYqYqYqY-ͦ!)_S >?!(S2R2^S"RSSC.S!Rϟ SI)͹I@dQI͌ d͈!^SI͒ ͬͯt͹RY!AXf!_S fI@ITqI!GaiI>KyP͹R1 IO A >> R1>R0 >> R1=0 ON C0=0 Track-Info  R!6>}VQ =(͹ITYQ!>͚VQ =(I͹ ITYQ!>ʹVQ =(Iͯ(͹_[>52{\<2\>3_!`\f!{\sZP !\f!\sZP !\fP!\fLDI OFFSET PTR DE=00, (HL)=#FFRRD OFFSET PTR HL=00, A=#0FSET 2,(HL) OFFSET PTR HL=04,05,06,07 (RED+BLACK=UPDATE)RL (HL) OFFSET PTR HL=04,05,06,07 (BLACK=UPDATE)!]ϟ]ISW͹!>-WQ =(!:>jWO =(͹ITYQ!>f!gfP!hf!͘g!f!6`͘g!hf!f:eg!k)!j@f!Re+f>f)#= !ef-GET PPI.B LAST LINE BEFORE C4=R7 ON C0=62.63.0.1.2.3 >xx,xx,xx,xx,xx,xx!CfϟY!AXf!P"s:Ug!if!iPf>E2i2j2Qj!6B"j>/2i!b¡f>F2i2j2Qj!38"j!i4fi)fj)fHj)ffj)fj)fj)!isssss s>02k=2Lk!,c!Lk~VQ =(Iͯ%͹%]>62L^>A2w^>4_!1^f!L^sZP !\^f!w^}ZP !^fP!^fEX (SP),HL OFFSET PTR SP=00, H=#FF, L=#55CALL Z,aaaa OFFSET PTR SP=00, PC=#FF55RL (IX+0) OFFSET PTR IX=0A,0B,0C,0D (BLACK=UPDATE)INC (IX+0) OFFSET PTR IX=08,09,0A,0B (RED+BLACK=UPDATE)!^ϟ*_I͹!>ZVQ =(ͯ.-͹^>62b_>5_!N_f!b_sZP INI OFFSET PTR HL=00 I/O=#FF STORED IN CRTC R152|i)!chssss-f)#> >,PLEASE WAIT... PPI.VSYNC ST. EACH 6us FROM UPD R7=C4,IO ON C0vs=#1E (C4=1,C9=0)INI/INC B INST. FROM C0vs=#21UPDATE R7=C4 (C4=1) ON C9=0 FROM C0vs=0,1,2,... PPI.PB IN on C0vs+5GHOST VSYNC - OUT R7,C4=1 IN HSYNC (C0inst=R2=46), THEN...PPI.B IN HSYNC (C0inst=51):#xx / AFTER HSYNC (C0 inst=60):#xxEVENT: OUT R7,16/OUT R7,1 ON C4=1,C9=0,C0inst=10,18: PPI.B=#xxEVENT: OUT R7,2 ON C4=2,C9=0,C0inst=5 : PPI.B=#xxEVENT: OUT R7,3 ON C4=3,C9=1,C0inst=34: PPI.B=#xxLYX͠_l> 2GX!AXf2GX!ՠY!_÷TKTULeI͹I>Xyh`"`͍h`"`>yPS`!"`!6`͹I͹I>yxw>y#*`#"`I ͹I>y͹xXPh`H!`wsrutqI!86,6y,6,6#6#6#6!I͹I>I!Daϟ͞l! l!mk͞l!vl!mk͞l!m8lͷ_ͼ`ͻl-e:(pOST & DEAD VSYNCR3h=0OUT R7,C4=1 ON C0vsio=0 PPI.B0 ON C0vsio=6:#xx (Exp xE)(xE=VS OFF)EVENT: OUT R7,16/OUT R7,1 ON C4=1,C9=0,Cvsio=17,25: PPI.B0=#xx (Exp xE)EVENT: WAIT C4=C9=1,C0vsio=2: PPI.B0=#xx (Exp xE)/ +R7=16/1 PPI.B0=#xxEVENT: OUT R7,2 ON C4=2,C9=0,C0vsio=10:PPI.B0=#xx (Exp xF)R7=C4=1 on C0=0, THEN R7=2 on C0>1, VSYNC LENGHT=#xx (Exp #6B=VS FROM C4=2)WAIT VSYNC ON R7=C4=1, THEN R7=2 > VSYNC LENGTH=#xx (Exp #66)R4=0/C4=0/C9=1 > R7=0 on C0io=0 : PPI.B0=#xx (Exp #xE)WAIT VSYNC FROM C4=0/C9=1/CI͹I>yx2ax2a8<>y>yx2a8)͹>yx2a8@͹>yx2a>y!b!"2b!"Xb*b*2b#"2b*Xb#"Xb!,c!.bbbͭbI͹I>yxw>y>yxwͥxw>y>yxw͹>yxw!#x8u>y !bI͹>Iy*͹Iqc*b#"bI͹Iq.͹Iqxw!,(x0u>y!&ai##>2Qc<2Yc!Dcϟ!""d! "d>ćc>c͒c!""d!-1"d:Qcc͒c:Ycc͒c-0vs=21 > DELAY TO VS=#xx (00=VSYNC DEAD Exp #00)R4=1/C4=0/C9=1 > R7=0 on COio=0:PPI.B0=#xx, DELAY TO VS=#xx (Exp:#57)> l!l4##= ͹I@͹ II͹ IXxsw͹I@͹I+ ͹ ͆> y"<͹ IXxsw͹I:lyM͹Xxsw II> 2lyI2II!mͷI.IY!mf!nf!8nf!mm!mm>52n> 2n!mͭm!nf2n!n`f:`g.o):`geo):`go):`go)!nssss:`go):`g;p)!o@f!oYSs!AXf:.dgd):/dgd):0dgd):1dgd)!2dssssss2c02Cd3>- >/2dx2d5I!.dM͹>-qyxw#Ixw#QYͰxXw#sƟLOST VSYNC ON R0=0 (EVENT)R4=38 R9=7 R7=30/C4=29 C9=7 C0vsio=0 >> PPI.PORT B=#xxEVT R0>2 SAME LINE>> PPI.B=#xxR0>2 SAME LINE ON C0=R0 >> PPI.B=#xxR0>2 ON C4=30 >> PPI.B=#xxeI͹I>ỳ>y!#x8>y}2e͹ù!Re>e*Ee#"Ee#ƟIM͹xw!^eϟY!gfa_dva'e!AXTrack-Info  Rf!`np>f#)= !>pf!AXffn)fn)!n>22n>ͭmf!n4P ##= ɎJKTVSYNC MANAGEMENT DURING R3R3 APPLIED ON ALL VALUES OF C4R3 APPLIED ON ALL VALUES OF C4, EXCEPTED WHEN C4=R7-1 (C9=R9)(THEN R3=12)R2=50, R3=12, R0=63 :V1=#xx, V2=#xx(CRT2:+R3<15 FROM LINE C4=R4/C9=R9-1/C0=5)VSYNC CONDITIONS IN HSYNC (R2=#2E/R3=14)>> UPD R7=C4 ON C9=0,C0v=#35 PPI.B ON C9=0,C0v=#3A:#xx>> UPD R7=C4 ON C9=0,C0v=#35 PPI.B ON C9=0,C0v=#3E:#xx>> UPD R7=C4 ON C9=0,C0vqq>?͸y͹ I@II>II͹IIq IqII!@4ͯ ͹ÿv:!wϟ~II}II~IIII͹II I@It!qIQA|͔QqAiqiqiqiqiq Qqq>7y! aiqI?ͩI I I[͹I>I II͹IIIq IqII><2x:5x 25xͯ͹w>2Uy2y2y>2->2~>2Uy2y2y> 2-> 2~!{> !!}2W~>xx[!12: !{F2W~7!!~!{!~> !{> =#35 PPI.B ON C9=1,C0v=#3A:#xx>> UPD R7=C4 ON C9=0,C0v=#35 PPI.B ON C9=1,C0v=#3E:#xxPPI.STATUS 5us BEFORE R7=C4 :# PPI.STATUS 5us AFTER UPD R7<>C4 (R7=C4 BEFORE)(VSYNC CANCEL)(C9>0):# PPI.ST C0=46 15 LINES AFTER R7=C4 ON C0vsio=#1E:xx,xx,xx,xx,xx,xx"pSpIII&IBI͹!p?q͘I9͹Xx2pƟ!pϟ!i"p!`M"qs!s>Ii͹qI?I`M͹Xxw#͹*p#"p*q+"q= !c"r!s!G"r!IͰr!G"rͶr!G"r!>IͰr!G"rͶr!#"r!s!G"r!!2W~>xx[!12!}:> > n!{> !2W~>: !{>2W~!}!01!{> !2W~>: !{>2W~!}!0:> > "z2{2sz02~>12}"|}!32"H~z2_z{2zx2zy2;{"~>*2}!Szϟ?}IIxIIyIIII ͹II !@͊II͹ IQ IYp!qIQi( ͒aq!IQaIq>?y[QY 0IQ IY II͹I?I͙II II͹Iq IQ IYII͂{ͯ-͹IͰr!G"rͶr!G"r!>IͰr!G"rͶr:(!s>2Hs> 2sr2Hs>2sr!s!97t)N#!>t ;t!tfP $- "s!9̀p:pgt)!ots!9̀p:pgt)!tss! "u!<>"u!swr> wr> !=="uwr:( !=0"u> wrͯ52 u>02tf#n# u%!ts>12tf#n# u)!ts"r2rIc͹;?qQYI YY͹IG͹xw#ù!?"s!I$s!?"s*s!?"s!>I$s!?"s"is2ksIqI&IBIIIII ͹;?qQYI YY͹IYz><2{!  "{S{|22 }2!! . "{S{"!  "{S{"IaiQQ&a,,,,i%ai$Q>>2W|02~>32}!16"H~!~"|}!12"~2W~2}!7|ϟ?}IIxIIyIIII͹IIp!qIQi( IIQͦaq#IQaIq>?ynQY 0IQ IY͹I?I͘II͹Iq IQ IY>24{!@!~w##z@ ͑~!I I?͹IIxw#ùSsfsf!P"s͠_!AXf!sf!AtPfR0=3F / CRTC IO ON R0 (OUT(C),C)UPDATE R0=7F, OUT ON HCC=3A :xxOKOOK: C0=..3F..40..41.. / KO: C0=..3F..00..01..OUTI ON C0vs=#3c:xx (01:IO>=5TH NOP / 00:IO ON 4TH NOP)OUTI ON C0vs=#3b:xx (01:IO>=6TH NOP / 00:IO ON 5TH NOP)UPD R0=3F ON C0vs=1 (PREVIOUS LINE R0=1) :xxxx(LINE C9=R9/C4<>R4 )!qu"8u!u"8u!7uϟquI ͹I!ͭdu͗ ͯ$͹=u>ia=͎>?2v!z"u!~"}6f!}f!3~f!t~f!AXf****xx** ****xx** ****xx**R0=3 / TEST FOR CRT 2 (NOT EXCLUSIVE :-)) / YELLOW = BORDER ONLY / C9=R9 NOT IN HSYNCCYAN COLOR >> C9=0 - 16 RUPT / LINE / 3 UPD R13 COvsio=29,39,49TEST WITH R1=3, R9=7, R4=120!~N#N# !~zW@ UUUUUUUUUU!8ɟ!FͷY!@ |!P!{!>͛!AX f!/fR0=7 - RVMB NO BORDER BYTE (CRTC 0)!ɟ!FͷY!@@ !H @ !P)@ ͔vu~!P!{!@vu>@2v!"u!"vu!P!{!Xvu!vɟ!vͷY f!AXf>7zg2v)!vf~͛R0=3 / TEST DISPTMG SKEW VERSUS BORDER / 3RD VERTICAL ZONE: NO SKEW / YELLOW = BORDER ONLYAw#|g0?&x0?&x?&x0JDKSL]RUMFK_GWYNEiqу/a˄%UK{<<<<: >2ˁ2:2>20aF<<<<: >2ˁ2>20>2:y!<<<<: >2ˁ2:2>20m:Ox2s!  ~#fo>"(! 6#!Y!$ϟ̓I>yIIIII͹I III>q,!'qIaiϟ!ӊ"1II͹T>yxq  !JTI(͐( =y=͞ I͹Iͯ&͹TKQYQY IYl!͙!f!4@f!Qf!f!f!AXf:>8>2jSPLIT RASTER ON INK 0. 1ST COLOR=MODE 3 / 2ND=M2 / 3RD=M1 / 4TH=M0C0=06 (CALC FROM VSYNC) INST:OUTI (5 usec)OUT(C),R8 (4 usec)OUT(n),A (3 usec)00 02 04 06 08 0A 0C 0E 10 12 14 16 18 1A 1C 1E 20 22 24 26 01 03 05 07 09 0B 0D 0F 11 13 15 17 19 1B 1D 1F 21 23 25!  IqqY>7aqqQaiqY=(>IyIq>*y>yq> y>yq>?y͹ IqI>?yTQYQ>KyII II͹I͹Iq͹IILQYFQYͯ$͹4!<ͷY!>w,>w,w,> w,w,>w,w,>pw,!B6,C6,.|g0!Fw|g0!B6,C63,.|g0M!w|g0!P!{!n6#!уf!Tf!ɟJLFRUKTMx8PXP4CRTC x / C0=0=Red+Magenta/C0=1=Grey/C0=2=Gre 27!ϟƋI͹.Eͬͯ͹&QͮY (ͣ͠% ɯY!ͷ!<f+x`)a) !fP!P>xw# @= !AXf!0fMODE UPDATE (2 TO 0) BEFORE AND DURING HSYNC (R2=#2E/R3=#E/1ST C0=#2B)OUT(C),R8 ON C0=#xx, MARKER xxSPOIL : CRT 0.1.2 >> READABLE MARKER 08 / CRT 3.4 >> R. MARKER 09KDJSLKTUMF^_GRYDW> 9!> !A> !B2Gx2u|2}2ʔ!"!+ϟ0I͹!I.& .>>(ay IaiiͷY IQ= <>(aen/C0=3=Blue/B&W Grid=Offset updatedR3A R0=3 OUT R13 >>>>>>>******** C0=3.0.1.2R3A R0=3 OUT R13 >>>>>>>>>******** C0=0.1.2.3R3B R0=3 OUT R13 >>>>>>>>>>>******** C0=1.2.3.0R3C R0=3 OUT R13 >>>>>>>>>>>>>******** C0=2.3.0.1R3D R0=3 OUT R13 >>>>>>>>>>>>>>>******** C0=3.0.1.2R3E R0=3 OUT R13 >>>>>>>>>>>>>>>>>******** C0=0.1.2.3R6A R0=1 OUT R13 >>>>>>>******** C0=1.0.1.0R6A R0=1 OUT R13 >>>>>>>>>******** C0=0.1.0.1R6B R0=1 OUT R13 >>>>>>>>>>>******** C0=1.0.1.0R6C R0=1 OUT R13 >>>>>>>>>>>>>******** C0=0y IaiiͷY IQ=(>(ay IaiͳY IQ=  I><2 2ύ: S2>_yͯ͹1J!>0:!>1J>3!ʕ *!>22S?T]"nSَC!|2}2ʔ͉>~(>2S!:~#w#!_ϟSI͹!I. & .>>ay IaiiͷY IQ= >ay IaiiͷY IQ=(͊!>!{ayyA.iiY G>2%O!* ~2V#~2W!* ~#fo>>>>>>>>>>>>>>******** C0=1.0.1.0R6E R0=1 OUT R13 >>>>>>>>>>>>>>>>>******** C0=0.1.0.1R7A R0=0 OUT R13 >>>>>>>******** C0=0.0.0.0R7A R0=0 OUT R13 >>>>>>>>>******** C0=0.0.0.0R7B R0=0 OUT R13 >>>>>>>>>>>******** C0=0.0.0.0R7C R0=0 OUT R13 >>>>>>>>>>>>>******** C0=0.0.0.0R7D R0=0 OUT R13 >>>>>>>>>>>>>>>******** C0=0.0.0.0R7E R0=0 OUT R13 >>>>>>>>>>>>>>>>>******** C0=0.0.0.0??&&0!+ϟ}I͹g,͹ITJY IQgTKY IQͯd͹.>y   yɯY2{Q͹eFIND G.A. 1/16MHZ END DISPLAY ON HSYNCBYTE IN (#C100)=(#C101)=#80JIT R2 OUT(C),r8STD R2JIT R2 OUTIHSYNC START FROM GFX MODE xCTRL KEY 1ST HSYNC ON/OFF@@ DD""DD""UUUUUUUU!I!D!?!:!5!0!+!&!!!!!! !!!"}2\2|\2>2_>S2>2!"!|2}2ʔ:82 >2k!4,*4"Y!ϟI͹!I.& .>>Pay IaiiͷY IQ= ͹I!Ps#r+@P Hs|g{2q!ׇͷJQY!f!PN!އ!N0!Kf!>0N@= !އɎTKTTL>r#@s#q@= LINES MODE 2,0,2,... [BORDER/INK 0] / BLACK RECT. [INK 0/INK 1] RED:L. MODE 0LINES MODE 2,0,2,... [BORDER/INK 1] / BLACK RECT. [INK 1/INK 0] RED:L. MODE 0!"u!"1![">2>22,>-2#%!"u!"1!JT">i2>2>,2,2#!ϟII͹T>yQYq  !JTiI(͓( =y,͞ I!Kai͹I_ͯ͹JKLM><2`> 2h_ !s@!Track-Info  RI>< 2> 2O! ͯ͹O!w ~#fov͉2aͥ2x2͗2[:_g)!Vf:g)!`fo͹KSͭ͘KEY 1<>2=INC DATA IN RAM / KEY 5<>6:PTR DATA / KEY 7<>8=INC PEN (COLOR SWAP)DATA=#xx / PEN=#KEY 3/4:DATA--/++ , SHIFT:1ST BYTE OK=0/255 ,CTRL=HS ON/OFFMODE x TO MODE y02!"y!Ē"{!"{!"y!_4!"ͦ>52Ւ͋>42Ւ͋!"!"!"!"!><2!,O Y"&$(!"!J"!"!<":y:<2yO! ~2f)PREV R9=7 R4=1 >> UPD R4=0 WHEN C4=1 & C9=7 (UPD FROM C0vsio)(01:C4=0 00:C4 ovf)!ͷY!f!AXfJKTRESULT OF CRT-R4 & R9 CHECKI͹ II*͹I(QY QY9͹XxwƟ!'"u!d" *u#"u*+"I'͹ II͘Id͹9͹XxwB#Ɵ!"͜!d" *͜#"͜*+"I͹II͘&Id͹[7͹XxwB#Ɵ!"9!"I!(*9#"9*I#"II͹II͹ II͢>yI$III7͹XxwI&I<:٢o>(>:آO>+(>:٢( :::ߢ0"0$:ޢ0#0%:ݢ0$0&:ܢ0%>0>Ú>Ý>ä>ç>î>ñ>ø!T>X͚!f!ef!f!TPf!UD>͚!"@f!lf!f!T>D͚!`f!Џzf!f! f!f!f!f2|2}2Y!ͷ>U!@>~,˭>@ !͙!f!4Pf!AXfKDJSL]WUMF^_GRYNETESTS : R2 UPDATE / R3 LENGHT FOR MODISATION / R3=0 SETTING (ON 3RD ZONE)OUT R2,#09 ON C0=7.8IIB#ƟI͹II͹IIͲI$III7͹Xx<(=2<Ɵ!"!d"; *#"*;+";I͹II͹IIͲI$IIId͹_7͹Xx<(=wI&IIIB#Ɵ>$͐wƟ&͐wƟ2z2{2I͹͹II@͹$IQY7͹Xx!a"!m"!y"ǀ:_>2d>2Y2ˁ{(2>2*{#"{2!_"!k"!w"ǀͯ5x8x0555Kyٷ'@̀ !PP!.9.A (CRTC C0=SCREEN C0-1)YELLOW COLOR ONLY IN MODE 2 / INK 10=#5F<->#5AKTKKKKKKKKKKKKKKK>!11!>!12>!13>!14 !15>!16>"2.!ϟGI͹I>X. Q&aͮYͧ= ͯ͹Ͷ!]f!tPfR2 UPDATE DURING HSYNCR2=#0B / R3=10 / ON C0=#0D0E0F10, OUT R2,#xx (+ R2=#2E ON C0=#23)I I!ͷY!f!4@f!`f!4f!Pf!͙!AXfJKT>>>> >>>2I02З!6ϟxI͹I ! >X. QIiͳa I Yͯ= ͯ͹<Ͷ!Kyٷ'@̀ (Bs##|g ͧ:ܢ!+|"!ՠBs1m@*"!ՠͪ_1?(.&0! (<(!fOKxKOx)e@|O |O |g}Po|gO6T]!w?~#̀~͛# &o))) ~#zW@W &o))) ~#{P_>W~(y#~Iy#~Iy# sFI YI QI YI QI YI QI YI QI YI QI YI QI YIQ1!Mx0x8x0x8͹x8M͹Mùf!fR3 UPDATE DURING HSYNCR2=#0B / R3=10 / ON C0=#0D0E0F10, OUT R3,#0x (+ R2=#2E ON C0=#2A)!ϟ!Gͬ!Q͒!=T!%sԛ![>f~P #= S!`f!=Ͷ!9Ͷf!GͶ!Ͷf!(fĘ)>,#!ĘͶf:> UPD R9=1 WHEN C9=3>>C9=0!{OB:::z֡YIH IPH{x Ox (   !  x0x8x0x8"|!Mx0x8x0x8͹x8M͹M͹͹x8!M[|R͹*|+"|*| > !עPIXIqI? CIB= Iqllllllll>X<|0f8l8vv0 000 0 0f<> UPD R4=1 WHEN C4=1 & C9=7 >> C4=0 :PREV R9=7 R4=38 >> UPD R4=0 WHEN C4=1 & C9=7 >> C4=2 (Ovf) :PREV R9=7 R4=1>> UPD R9=1 WHEN C4=1,C9=7,LASTLINE FROM C0=#29 R2=#2E(01:C9=0)PREV R9=7 R4=38 >> UPD R9=0 WHEN C4=1 & C9=0 (UPD FROM C0vsio)(00=Upd Ok) >>3C=xx/3D=xx/3E=xx/3F=xx/00=xx/01=xx/02=xx/03=xx/04=xx/05=xxPREV R9=7 R4=1 >> UPD R4=3 WHEN C4=1 & C9=7 (LAST LINE):xx (00:C4ovf 01:C4=0)PREV R9=7 R4=38 >> UPD R4=1 WHEN C4=1 & C9=7 (UPD FROM C0vsio)(01=C4 OvTrack-Info  Rf<0 0`0 ~~`0 0`fff~fff~~ xflxlf```bf8ll8ff|``8lvff|lf< <$0 x |v`|fffff>|`lvff8<ff<`flxl8<lffffE(>O2C!CP`͝`Ý:s2sgC!CP>2H> 2G!G"I!H"I!H"I2$I<2!080!HU>2!160!HE>*!320!H5>*!640!H%!H"I!H"I!H"I>2$I>*!281!H"H2HG>?2G2G>.2G2H>2G2Gy2G{2I"Iz2G2H2I:8 !"G>2I!pGG*CI:H_R":I00|006ffff>fff<ll8lfff>|~L2~`2G!"HEI IIIII:H.?!- III͉qyq͛YI*͂IqQ?dI- HdII I!|0y IiIAI>.ddy͝IIII͝ I*H|0y Ii(͝III>y͝IqêH:G2G>(=2H> 2G>2G>2H!"HfD2H>2G͐r>?2H?:G = zO2G*H0 Z˜"H>2H:GG:HgI!I$͝×G!IlII!KTa Ii>A2I!@>!I!I4SHAKE25BBIN@aB@af~`<v333330123456789ABCDEF 0<3? ( ĐДԁ ( "*ç@I!@@II!@@I!m@.1͛@ B*| 2!pBAK!"!{!$CFA!HyNA!CNA!BCFA!CNA!BFA! CNA!2V ͝!YK!L>28~(^!Do"HJ#F#\J~#!9Jv>0!FJv͝>28!aJ"9+!kJ"9#t#!RB! K !P"(!YK~ʱJJ!(K!!x"(:J=!IK2=(K > #(KF#f#5Kf~(g><2J> EK##SHAKER KILLER (CRTC/GA/Z80A)xx xx xx xx:#xx>WRONG (Exp #xx)!VERY BAD TRIP!ݎJ>9A^!BA!B^AV!jdAf!5AF!rBAf!BA~!bAN!~BA!pB ~A@@"ASA!"!pB~_#V@#"AAկYB>0{202WB͎!RB0!0F!E!TC>P #= CRTC x!xl!iBNTKTULFFFFFeff fSef%gf!gfgf%gXXXXsXXXX[^e^x^^QQQQVQ?Q:Q5Q}QxQsQTTTTTTTTIM[u[{OLΈ +҃AE*/p~~ākEk p<ssssssssssso{2{F{Z{n{{{{CPC SHAKER 2.5 MODULE B / LONGSHOT. LOGON SYFFS/'5++Vxp64p642LCL"L"L W_4NDˆˇob!LGTqII?I!RB!L!"8V ͝vv!L"9>28 ͝!L!"8$x0JSKUMF^_GWELCOME IN OTIR ZONE (FOR FUN)! MGV>28II>2!N2gO͌M>͌M>2gO͌M!N!RB!M !"MP!N͙M!N͙M!STEM(1) INTERLACE C4/C9 COUNTERS (Y=PARITY CRT 0/2:O)(Z/X)=R9 BASE (xx)(2) INTERLACE CRTC 2 C9 STRANGER THING(3) FAKE VSYNC ON CRTC 2(4) CRTC 2 FIND C0 MIN(5) CRTC 2 RLAL(6) CRTC 1 BUG OUTI R0(7) CRTC 0 BUG OVF C4(9) INTERLACE VM (27 TST) (Y PARITY CRT 0/2) (O) CRTC 1-A OR 1-B? (RETURN) R5 STORIES(F0) BOUNGA!(CAPS) RVNI LTD(P) ANALYZER / FORCED STAB CRTC 0 R0=0 (4 CONF)(R) INTERRUPT DELAY FROM R2 (18 CALC)(U) CRT 000 (CRTC 0)(I) R3 JIT (8 TST)(T) R3 JIT INTERACTIVE MODE ANALYZER(S) CRTC 1Track-Info  R"M!N͙M=2iO+OP>nf PNͼn~?g iNͼnfyNͼѷR>(> 2~N!?NP = R52 BIT 5 RESET (R2=46/R3=8/CLOSE END HSYNC) FROM R52=#1F to #20FROM LAST INTER:#xxxx usec >> NEXT INTER:#xxxx usec (Exp:#xxxx)WRONG!>> EI/NOP (1+1)>> EI/CP(HL) (1+2)>> EI/EX(SP),HL (1+6)             ͝!NOvvvvvvvvvvvvvvvvvvvv>0!ZO^V͝!wOut !OG!?V!NW"CW!tW"AW!?V><2Ww!NW"EW!W"GW0!NW"GW!W"EW !NW"IW!W"KW!NW"KW!W"IW:mV2mVR3JIT/INTERACTIVE ANALYZER PIXEL MODULEKEY 1/2:MODE L, 3/4:MODE R, 5/6:DATA++ 7/8:DATA-- CTRL/COPY:PEN++MODE 2>0 /DATA=#00 /PEN=#02>!YZ%>!Z>![ >!&[!8Z2.>I2Z>>!YZ%>!Z>![ >!&[!Z2FY>C2Z"HYSYCY"KY>2Y29Y!YG:8:ZC!*> +>2Y"1YY *͝!d!.͑Z*iYʹYə!D[2~YM["`Y2kY!>2kY} h"iY^͛:82P>IP!POP!P>qO!RB!P !PP!P=IKLP>28!?P"9 Kv!Pv"9IIq"P=e!ͼI?IIII.ITII &IqI IP͝I!6#w#]T q6#FPs#rR52INC IN HSYNCR0=1/R3=1/R52 CALC=#xx (Exp:#34)(REF #xxxx)R0=0/R3=1/R52 CALC=#xx (Exp:CRTC 0:#34 OTHERS:#FF)(REF #xxxx)!!&! !  }02AS!T"!TSTS 210!Sx2 SyR!R> BIT 0..7R3JIT. R2=R3=14 / R3=1 ON C0io=15R3JIT. R2=R3=14 / R3=2 ON C0io=16KEY COPY/CTRL >> PTR++=>#C1AA @:|O>#(>!M[!a[:}>#(>!a[!M[!D^"[! ^"!Sx2RyR!R"Q"QSRCoR26R!QG`R ͝IIII͝ !S.?!GqÌaqY-(TRqQRd!ai!ai!ai! ai! ai!ai!!$"͝ðQCB͎ɯ!RBP!R! s#I>_yCRT000LL B/ R0=0 ON C0=0 AFTER ADD LINE (FROM C4=R4+1=3 C9=0) R8=#x0CRT000LL A/ R0=0 ON C0=0 ON ADD LINE (FROM C4=R4=2 C9=7) R8=#x0CRT000LL R0=0 ON ADD LINE - IN 'C0=0 ZONE' UPDATE Rx TWICECRT000LL R0=0 AFTER ADD LINE - IN 'C0=0 ZONE' UPDATE Rx\>!w2^go==G!^"[!]"\!81V""[x29]#"\"\\s#r![G͆O!S B" \g^>28\I!L^>I_Y͝ S ͝.u#= I>y!L^<Po-&@~2E]Fxo~2Z]xo~2[]!<]P #= I>ny͝ʝ]ͼ!{]P!]>02]I͝ʝ]ͼ!]!]V=!\"9!\"9\RYB!RB! ]DELAY BETWEEN HSYNC (C0=R2) AND INTERRUPTION (IM1)WHEN R3=0E, INTERRUPT OCCURS #xx uSEC AFTER C0=R2 (#FF=NO INT)VSYNC TWICE                                                                                                      !U%!U !U!U!U!V ! V!V :>&2?U>2HU>2QU2jUUZUaUU! UG}U ͝.?!HqÌaqY-(͜qQ!ai!ai!ai͝!PəG>(x2QU$͝U DURATION (6=&180 ON CRT 0,3,4)(0=&400 ALL CRT / n=&400 CRT 1,2)R3 High=6 >> SIZE=&xxxx uSECDELAY OF 'CALL TO #38' ON INTERRUPTION IS xx uSEC (RST#38=4 uSEC)DELAY OF INTERRUPTION CALL (IM2) IS xx uSEC>2c_!` 2c_!a>2m_>y2_$!a>2c_>2m_>q2_>!a2c_2m_>q2_>2_"`!^G*/"_<`!"``!^_>=(.:_=2_ ;*`!-b!RB=!(``a:_g! a!"/ IIIIIIIIIm͝ II IIIII@I5!?!RB!U!Ps|g0I>_yCRT000 / R0=0 ON C0=0 (R4=38, C4=10)/ (R9=7, C9=x)0(@1h234(@5h67!VG:8 !)"7V>2VV *͝!d!.͏ZYəO!;W ~#foMW!ʹYcgXpX:Vg:>V02\X:?V02^X!WX@M["V2V!]K>2V}2VFYQqIy>< 2V> 2VO!V !"/$&͝6VKTI!KFa> Ii= !RB!Z!W!XNWRWNWtWNWWNWWNẂ!NW"=W!cW"?W!>V3!NW"?W!RW"=W!>V"!NW"AW!W"CWTrack-Info  R >qqQAayQ͂qqYayq̀iIq͕I>K>E&DyQ(t>yIIqI>+yI?II yE82͝Xxw!sb>Xx_:}o>(>!sb>!bN!@`!4@`! @` 0z!Ś!!>!a!RB!%a!`!`!aAw#|g0CRTC ANALYZERTEST R01 : R0=0 WHEN R4<>0, R9<>0R4 SYNC FOUND:#xx>>>>x<<<<PRESS KEY 1 TO 8: IDENTIFY THE 1ST FLASHING COLOR UNDER 1ST PATCHWORK LINE AT >>>x<<< X POSFlag:x APiiiii!i"i!i"i!i"i!i"i!j>02iw>*jw͊>*iw͊iiiji(jiHjí!i"i!i"ip!i"i!i"ib!i"i!j"i+#^!i"i!j"i+#M!i"i!8j"i<I!i"i!(j"i<9!i"i!Xj"i<6!i"i!Hj"i<&:`h02`h:jz({2[h:jx(<2j!j~w:uh?2uhO2jG!j "j#"iIQY!mul > 2l!|m"l! "dl>2l:з >2l>2l>2l>TEST R02 : R0=0 WHEN R4<>0, R9=0TEST R03 : R0=0 WHEN R4=0, R9<>0TEST R04 : R0=0 WHEN R4=0, R9=0NOTE : EXCEPT INK 0 + RED/WHITE RASTER, ONLY ONE EXTRA INK EACH 2KB BLOCKUNABLE TO FIX : PRB NOT ISSUED FROM C4/C9 / OTHER PROBLEM TO IDENTIFY?&x0JDKSL]RUMFK_GWYNE!bG2b<2b`cVc ><2b )ˈCb! "c!B"%c02_do:b?gXd!Xd+͝ I II͝͝QIY͝I I0I$ə!adO ~w2b'͝ëbIKLɯ!;d!c!RB2l2m2Il!o"m[>2l>2l>2m2l<<2l:>!|m m > 2l>:m!rm@2l"lSdl`iul >2Il!#o"m02n!kG͠m II͝IIIIII ͝II>yq,!+qIai IaqY!@͜>6͖qQFNY=( ͎ ,I>yq>Ry>y=yQY IqyQI?Y> y>yqYQYQYIKQY͝Iq II0 IQ IYIq͝ II͝IILQY:el  >A͝c!cP W !cw###R5 SHAKER : MAGIC COCKTAIL / KEY 1 TO 8 TO MODIFY SCANNER SPEEDUPDATE R5 FROM 0 TO 1 ON C0=#00, C9=0?:!vdG;d ͛͝f͝ I(I͚IIq2͝ Iq$͝|d!d!dP!#eCRTC 1 IDENTIFIERIF THIS LINE IS REPEATED BELOW, YOUR CRTC 1 IS 1-ABUT IF YOU CAN READ THIS, YOUR CRTC 1 IS 1-B !!!YeGͿeI ͝͝e͝e͝e͝e͝e͝e͝e! ͛FNaiq:(%= >22l=(2nl>2l>2l>2!oN: :Il(?!>An!>An!>An>21l]n]n]n]nT].w,w,!n!~#w$% >21l 01 ON LAST H COL). C9==> 0=RED/ 1=BLUE/ 2=GREENC4=0=FULL COLOR C4>0=COLOR C9+BLACK [ CRTC 0: R5 ADJUST AFTER C9=R2=2 > C4=1]CRT1.3.4:[2,0,1,2,0,1,2,0,1,2,0],[1,2,0,1,2,0,1,2,0,1,2],....(C4=0)CRT0:[2,0,0,1,2,0,0,1,2,0e0I>02e>D2e$K͝de>Dy<2e>0 Iy˷2e͝ɯI&I!epcI@IP͝CRTC 1 R5DOFF TEST >2Sf!f>A!f!>B>02Sf!>Cf!f>DSEf"f2f!8fGͨf ͊͝͝ II IIIIq II$͝ I0I͛f'͝>fIIqɯI&I!fpcP͝RFD CRTC 1 TEST A!7k"g!"Vh>V2i>2;k!7k"Vh!"g>P2i2;k>&!>2;k>+!@2ygy2gx202`h>Q2Akͱh  II͝I,0],[1,2,0,0,1,2,0,0,1,2,0],[0,1,2,0,0,1,2,0,0,1,2]...CRT1.2.3.4:[2,0,1,2,...,2,0,1],[2,0,1,2,...,2,0,1],....(C4=0)JTL_R??&&0:!pG:>(02\p\q IIIIII͝II>yqX!AqI IQai! )>͕y>6͜qQa-iqY=(͍>Iyaq%aqy=yIy&yYqY?YyYIYQYIKQYQY͝Iq0 IQ IY͝͝IILQY$|$͝,pm!fqG*/"q>2\r!rr!qI&I͝I!KL_R!0 Ia IiQi͉I!j@ ~<( =yai {?|(zyiq#~#<(= QyI Yi͙ Y I>0y IqYi$.`2j(Hy2jO!i ~#foiəO!i ~#foi͛j7k*g|0g"g>2[h*jf'i>g>@2g/i*g:iͼ*ifIiY!'i"/͝͝hg!hpc!iP!LiI&IR5 STORIES V2 (UPD R5 ON C0=#3F) KEY 1/2=VPage,3/4=Offset,+Shift=+/-R5 VALUE=FF LINE=01, R12/13=3000, R12 Line=FF5/6:Line, 7/8/Right:Upd R5, Up/Dn/Left:Upd R12 / ClrTrack-Info  R         q> -:\r=2\r( gLs;!RB!{sI=!rr[s:\rg!"/͞r QYYII͝ 0IQ IY ͝I| IqqQYhqV! 0aQiY (͚̀ IIIqI͝ͅIqI$+ ͝Xxw!s>Xxq>!sl!sN!s sPw# 0w# !<s<sp< s!?u!RB!1s!^s!As086~w##BOUNGA! R4=R9=0R4 SEARCH=#7F / R4 FOUND=#xx<==OVERSCAN BITS (TM) ++ :-)OUCH.>>k2|!%" |> 2|>*>j2|!e" |> 2|>>i2|!" |>2|>>2{!{G| IIIIIIIII ͝Iq͝p!qIQi( I I@IQ͐aq#IQaIq>?yQY 0IQ IY II͝I?I|II II͝Iq IQ IY>!]~Ny!AS}?!S}!]}"!}>p!|02}!}! ~!RBq|gUPDATE R13 HERE =====>yy AND ====>x FAILING TO FIND R4?(.&KTOJOJOJOJOJOJOJL 0<3?(>$> >>>>> >> > 2t!sG{2ut02w>O!v ^#V#Set^#V#St~2w#~2w!t"t!&"VtvMuIx!~vlP͝P͝ &IQ IY ͝]I IIII͝q^I͋ IITI͝*et[t"t!t#x0))))|N8 } [Vt!NR6u:WtNR6u:WtWSVt!*u"t!LKtB"+u!xe(x=t͝$Rt<TjujuWIIWIW II  Ix (yy swap to xx/yy each 1.28secCRTC2 TEST - C4 BEHAVIOUR ON R0=3 (R4=0/R9=7)R0=3 ON C9=0 (EACH C9=DIFFERENT COLOR. YELLOW ON BORDER ONLY)EMU ADVICE : WHEN C9=5, C9=7 IN HSYNC >> SCREEN KO ON REAL CRTC 2? &xJDKSL]RUMFK_GWYNE!" !Հ"2΀>622<2<2<2! "!"&>2~!Z" !"! "!"&>2~!@:">22> 2:!~G IIIIII ͝;?qQYI QY͝I0 IQ IYII͝IddII IQ IY͝Ij͝IIrq IIK͝xXII ͝II"<͝XxqͱuͱuIIWI II IIM͝xXIIq_!(͝ II IIM͝xXIIq!_(͝?(.&0 00 10` p20 030 40 50` p60 070 002 p04 06!u:> :CE!Fu(>O!Mu2+x"8t: :C!uE(>O!u2+x"8t!CyN!RB!`w!w!w!w!+x0@x INTERLACE VM TESTS - C4/C9 COUNIIqͧ!$%͝~><2~ <  xwgW!L!$>!2N!Ey!M!`!Հ!  ?0(&0JDKSL]RUMFK_GWYNE 0<CRTC 0 - OVF C4 ON COvs=2 WHEN R0 Upd (VAL>1) ON C0vs=1 WHEN R0=1ON C4=6, C9=4 + 5/6 (pink/grey)>> C9=R9=7 (white) LAST LINE CHR & SCRON C9=7, C0=0.1: C4=6 /C0=2 & + C4=7 C9=7.8.9 (3 LINES)C9>>0=CYAN/1=RED/2=PURPLE/3=GREEN/4=BLUE/5=PINK/6=GREY/7=WHITECURRENT R6=07ON C4=6, C9=3 + 4/5 (blue/pink)>> C9=6TING IN IVM PERIOD (MAUVE ZONE)NEXT SCREEN : C4=6, C9=0 >> UPD R9=6, R8=3 (+3105)EXIT IVM MODE ON C9=0 >> UPD R9=7, R8=0AUTOSYNC ON PREVIOUS SCREEN TEST: R4=#xx R5=#xxE FRAME ON THIS CRTCW !0yNIͯx! kx!2kx̓x s#{ _כ>!͐x>!2x>dT] ככ= >2x!x!x4|g0><@ r#{@8rq######= !@!~w##z !@!~w##z@ ɌJTKSL]RUMFK_GWYNEJTK::C!uE(!u"hy!dyGIxu II͝] (grey) R9=7 NOT LAST LINE CHRON C9=6, C0=0..63 >> C4=6. NO OVF C4!8"> 2c>02<225!!@:">2c>62<2>25! |22?}2!" !Հ":!G IIIIII ͝;?qQYI@͝ I IIq0 IQ IY͝IIId IIII͝IIq Iq Iqͧ!?$͝%!$>!2N!Ey!M!1`!i! ! OVF OF C9 FROM C9=7 ON LAST LINE CHR & SCR (C4=R4) (=0)C9=4 >> C9=5/6 (pink/grI>%!ysͪy6I#= ITI$j/͝myQIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII!yG: >2z{ IIIIII͝II>yqO!AqI IQai! )>͕yqQa-iqY=(͍>y>=Iy=yy>yI> y>yQYIKQYQY͝Iq0 IQ IY͝͝IILQY$-͝y>p2|!" |>2|>{>o2|!%" |>2|>z>n2|!e" |> 2|>f>m2|!" |> 2|>R>l2|!" |> 2|>Track-Info  R         ey)>> C9=R9=7 (white)ON C9=7, C0=0.1>>C4=6 / C0=2..63>> C4=7 / C9=7..31 (OVF C9)2>2p2_!> 2p>O2>2_> 2p>O22_02ԅ>2;!G҄ I IIIIII II͝ I0IGI IIdddd I͝II>JyIIIIIq͝Iq Iq!;$(͝!$>!օNy!RB@!2!b!@!! I? .#%0R5 STORY : C9 INTERACTION IN VERT. ADJUST. MODER4=10, R5=24, R9=7 / ORANGE BO{2ލ;l;IIIq͝͝ II III|IdIdIdI͝͝III II!#x0)))) Bͼ!%R8=3 ON LINE 0 : FRAME SIZE=#xxxx usec (R9=7)(R7=0) MID FRAME SIZE:xxxxINTERLACE VIDEO MODE (FRAME x)R8=3 ON RASTER LINE 2 / R8=0 ON LINE 43 / FRAME SIZE=#CALC WITH R6=#xx:R7=#18, BEFORE R6DELAY FOR EVEN+ODD FRAME (E/O R6=50/50,7F/50,50/7F,7F/7F)'P!P"(>02mNN>12mN͝N>022!l:8#"S'![>=ͮ'>>RDER : ADJUST. ZONER6=#09ON LINE 5 IN ADJ. ZONE, R9=10ON LINE 1 IN ADJ. ZONE, R9=3JDKSL]RUMFK_GWYNE><2~ < xwg!!|g@ )@ { {@8rq##!BG IIIqII?IIII ͝Iq͝!͇  p !IQqIBYB(͕IaIIII I͝Iq?$@͝H!>!Ny!~6## !0"!n!RBo!͇~ !~#~#*B~ ##"BLOGON SYSTEM PRESE'>?ͮ'>122ͮ'>ͮ'*+"*#"g9;l;IIIq͝  IIÌIn͝!#x0))))pJͼ!'R8=3 ON C9=0, C0=#xx : FRAME SIZE=#xxxx usec (R9=7)R8 UPDATE DELAY + 0 FRAME DELAY>2G>2 >2x2Ӑx2 >022;Iq͝  IIIIIMII2I6͝!#x))))"+d(RR͝I2I!#x0))))pRBͼ!phͼ> 2X!%>>2w2:![G͜ M͝I2III͝NTS THE 1ST ONE-LINE-SPLITTING (RLAL) ON CRTC 2?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;??&&JDKSL]RUMFK_GWYNE>62!ʼn\!:>82!Љ!&>72!ʼn\!>92!Љ!"\CS!:( 2e>2!FG ͝I I͝1QYdq QYqIII͝>=2 Ib! !Z! CRTC 2 - TRYING FAKE VSYNC VIA PPI PORT BR2=50 / R3=14 >> VSYNC OFF ON CRTC 2FAKE VSYNC OK IF SCREEN STABLE!!"M!;Gp I͝!>Uai= +͝>=2a Ib!!P!RB TRYING FAKE VSYNC VIA PPI PORT B MIDDLE SCREENFAKE VSYNC OK IF VSYNC BLACK BAND!GY IQIq͝!   IQqIBYB(͓IIII͝Iq IIi$W ͝!~< !~#"jo&!ĉ?͛Y"QY QYQY͝ QY$0͝L!ĉ?͛?Q͛!ĉ?͜III1II?II>Jy͝!3!\~!RBCHECKING BUG OUTI ON R0 UPDATE WHEN C0=0ON C4=C9=0, R9=1, 1ST R0=49/2ND R0 'OUTI'=6 FOR 14 usec ON C0vs=46ON C4=C9=0, R9=1, 1ST R0=49/2ND R0 'OUT(C),r8'=6 FOR 14 usec ON C0vs=48ON C4=C9=0, R9=1, 1ST R0=49/2ND R0 'OUTI'=13 FOR 14 usec ON C0vs=46!1G!"! ͝I I͝1QY QYqI!?͛Y"Q) /![~< !~#"o&) E!f~< !~##"o&) -!~< !~#"ٓ!3~< !~#"!e~< !~#"&o6,6,6,60000;1z11172v2000v27211z1;1000!'lf͹ɯ!0s#r#2s#r!>w#<=w#6#6!^>w<#^=w#6!}6!RB !ޔ !!TC LOGON SYSTEM - ONE LINE SPLITTING (RLAL) ON CRTC 2 POC POC POC POC....??&&:=!@G ͝!ͅ1͝!ͅ!"e ͝xo*e(#"eY QYQY͝ QY$0͝= !G㋯2X2>ͱ>ͱ'!Վ>2<ͱ;=!u:>2!k > 2:C2E!FuMu("m: > 2:C2E!uu(:(> 2:C2E!?vv("m!RB!m!P"( k!uG4''!{'̀'͆'͌';=2gю!Î':=(=(>2222>62P2X!260>I2!IIIIr'!261>q!IIIIr'!262>q!IqIIr'!263>q!qqIIr'!264>q!qqIqr'>q2!IqIIr!'!B2|2ύ}2ԍz2Track-Info  R         R>2g !C" C͝xo* #"CR>2gA ͝Iq`QrqhQse PIXx`AhHg`aϘ`a eC !AIxx_x ez !!(!!n!!ܗ!!Dp!v`!!Ҙ!P!#!F=. g>,- CRTC 1 - BE00 CHECKFROM C0=#3A BEFORE 1ST LIGNE (C9=C0=C4=0), EVERY 6 USEC (INI+INC B) :FROM C0=#20 ON VER~`0 0`fff~fff~~ xflxlf```bf8ll8ff|``8lvff|lf< <$0 x |v`|fffff>|`lvff8<ff<`flxl8<lfffffff<ll8lfff>|~L2~`0>~>Á>È>Ë>Ò>Õ>Ü:{000:|>0>͗>͚>$W$ə(=W*:ww],w2wz2́><2l_ > k(2͗>! w,w:=(=({2sgC:_>2^2^:=ȯ2R_>2_Kyٷ'@ !ŚP!Kyٷ'@ (Bs##|g K:b!+|b"/!xlÝsu1m@*"/!xlcB1?(.&SHAKE24CBIN@v_B@v_\| v``<`<|00|006ffff>fff<ll8l0123456789ABCDEF 0<3? ( ĐДԁ ( "*ç@I!@@II!@@I!m@.1͛@ͯA*| 2!BÌA+!"![!FʇA!(BNʌA!.NʇA!BFʌA!NʇA!tBFʌA!{NʇA!BBFʌA!nBNʌA!28!M"" *#"M͝x0*B>e@|O |O |g}Po|gO6T]!w?~#~2# &o))) ~#zW@W &o))) ~#{~_>W~(y#~Iy#~Iy# sݜI YI QI YI QI YI QI YI QI YI QI YI QI YIQ1YIH IPH{x Ox (   !Mx0x8x0x8͝x8M͝MÝx8x0~ʌA@@"ASA!"!B~_#V@#"AAկA>06{202A(!AS0!dES!1ES!B>SP #= CRTC x!šF!BäTKTUL[erVWYZ !IS]g6RiCivvv+ypybypy H*HE;LMVNNIfJJJBK=Kuq %*/ %*/Ғ^όߌ#3АА^όߌ#3ААCPC SHAKER 2.4 MODULE C / LONGSHOT. LOGON SYSTEM(1) CRTC 1 : RFD & PARITY STORY(2) CRTC 1 : R8 IVM ON ODD C9(3) CRTC 1 : PARITY SWITCH STATUS(4) CRTC 1 : IV!ɝ{OB:::zº!  x0x8x0x8" !Mx0x8x0x8͝x8M͝M͝͝x8!M[ R͝* +" *  > !{PIXIqI? CIB= Iq IQ IYllllllll>X<|0f8l8vv0 000 0 0f<f<0 0`0 ~Track-Info  R         M ON/OFF(5) CRTC 0.2 : PARITY CHECK SELECT(6) CRTC 2 : C9.IVM SWITCH(7) CRTC 2 : LAST LINE COND(8) CRTC 2 : ADD LINE ON PARITY BUG(9) CRTC 2 : ADD LINE RQ & TRIGGER(RETURN) CRT2: GHOST VSYNC VS LAST LINE(E) ALL : ADD LINE R5 ON LAST LINE(P) ALL : ADD LINE R8(S) ALL : R5 AND INTERLACE MANAGEMENT(O) ALL : INTERLACE VSYNC NIGHTMARE(R) ALL : VSYNC R7 UPD(Y) ALL : CRTC 3/4 PARITYREAD THE COMPENDIUM: HTTPS://SHAKER.LOGONSYSTEM.FRC0vs=0 DEFINED WHEN VSYNC PPIPARITY C9/FRAME WITH ODD NB LINE IN C4R8=3 ON C4=1 / R7=3 ON C4=2DELAY TO VSYNC:#xxxx BOUUUHHH!! EXP VALUE=#0480 uSEC!Nә:!OP((!Q0 !R(!P>2zO<2R2T02bS2eT>A2O!?t>1 OO>0)O>1)OǙè!\Nә:!gP(=!/R( =!P(!Q>B2O!?t>1 O:RͯRǙG=2R02bS>2 OͯR2RǙè!Nә:!P(=!oR( =!?Q(!Q!?t>C2O>1 O:TͥSǙG=2T02eT>2 OͥS2TǙè2OF!AS!OS!PðShO2#P;>O=Ob>E2 PSbO>!30XO!002O"PǙ;NOII III.PORTB.0=1!Eә:!G(.!H(!G(!G>26F02IG>I2MF!"TF!%"nFEǙèF>EbE:ǙGF>O;S.F2^G> F:>2iF02TG>"F>"F"F>2_F02dGǙb IIIIIqɛIIIII!Ex#qF,D x#҉F,D x#ҡFGFGF))))^V##}(|( G x2zGvG!FGʹ!Gô))))F!AS!#GS!Pð+:`GINTERLACE ADD LINE R6 VS NEW FRAMER9=7,R4=6, R6=4, PARITY=E, R7=1 FROM C4=2, CPU=#xxxx WRONGIMII> R4=77/R7=xx + FR>> CPU TO VSYNC=#xxxx WRONG (EXP:#xxxx)<@N <  N<@N <  N@@``@@``        @ ``@ ``        @x@2HuHǙè:=!5HәNI!I>2H02I!}>"H2 I>B2I>pH>pH>pH>pHǙè2HI>|H>2H<2H/2I!}>lO͙H!=>E"H2 Ix2I>;H>;H>;H>;H>;H>2I02IǙv IIIIIIII}II!lx#I))))^V##}(|( I x2II!IôF!AS!jIS!PðTEST DELAYED VSYNC CRT<N < `N < `N<N@```    @@@@````@``@`    @@@@```` < ` < ` < ` < `````@        @@@@```` `` ```        @@@@````>0ͺR>12tSx2S;>OR>Eb2zSSR>R>R>R>2S02SǙ; IIIIII!Ix#S))))^V##}(|( S x2SS!_SôR9=7.R8=3 ON C4=0/C9=x,PAR:x, C9 C 1PARITY O. TO R7=1, R4=x, CPU=#xxxx WRONG (EXP:#xxxx)@ `` @  `` :!IәgM;> /L IIII>/LqɛIɛśśśq IIכ>/L II)II!I͑BI:!rJәgMb> /L IIII>/Lq IIכ>/L III>/L III͑>xJ!b!;:"J!JәgM;>/L IIII>/LqɛI)II!I͑DJ!b!;:"XK!TKәgM;>/L IIII>/Lq O/E PAR R7=x:#xxxx WRONG (EXP:#xxxx)!$>0͸S8!(>12wTSS"T;>OS>Eb2~TSS>S>S>S>2 T02TǙ; IIIIII!$x#"T))))^V##}(|( T x2TT!bTôR9=7.R8=3 ON C4=1/C9=0, PAR:x, R7=x >>#xxxx WRONG (EXP:#xxxx)!Tә!?t@:(= @>2U!U"U=(x22UUFǙ!AS!OUS!tUPS!USè;>U!@Iqx#U))))2U|N>(gU> 2U UR5 ADDITIONAL LINE IN INTERLACE MODEFRAME LENGTHI Iכ> /LII)II!I͑BZK!b!;"K!KәgM;> /L IIII>/Lq I Iכ> /LIIIqI)II!I͑BKћ=ɛ= :!GLә:(0>`2%M>62M>2LgM!,"L!L"L!?tǙ;MISIII IIIIêLxI%I3 IIIII-I!+"L|!LL "L͑8yLII!#x# M))))| }( x2MMǙFI!AS!MS!PͰ!Mʹ!Mʹè!ͤIF {Track-Info  R          WITH R5=8 AFTER 304 INTERLACE LINESRESULT:#xxxx WRONG (EXP:#4Exx)III%IIIII IyIKIII2'V!rWv IIII̛I!E x#>Vut##!B>Vq II!xVәF!AS!.WS!P >O ͫV!xJ>E@ͫVè2WWx2WSVͰ> V>0V:W@2W V>1V2MW!GWʹ!rW!W nf##))))} | x2^WZWnflW!YWʹ##COMP VSYNC PERIOD IN IVMON C9=0, PARITY=x#xxxx WRONG! (EXP:#xxxx):#xxxx (#0004 expected):!?tƂv!IIIqIIq#x0`d!_ôR5=1/R8=3, R8=0 ON 1ST R5 LINE/ CPU TO C4=0:#xxxx (#0004 exp):!?tƂv!IIIqIIśq#x0`d!`ôR5=1/R8=3, R8=0 ON 2ND LINE AFTER LAST LINE/ CPU TO C4=0:#xxxx (#0B1C exp):!?tƂv!IIIqIIśq#x0cad!)aôR5=1/R8=3, R5=0 ON 2ND LINE AFTER LAST LINE/ CPU TO C4=0:#xxxx (#0004 exp):!?t N N N N N N N N N N!Wә!X͕X !QY> yaIiFIśSIFIśSIRIIq IIIIEWI II I0IIFISIIIII II I͑4éW.Y!ͤIF {!@F!AS!XPSSSIDOUBLE PARITY (C9/FRAME)ODD PARITY WITH EVEN R9EVEN PARITY WITH EVEN R9FR 1.2.3.4.5 (R4=1/R9=6) FR 6 (R4=0/R9=5) FR 7 (R9=7) FR 8 (R4=31)EVEN PARITY WITv!IIIqII'śqQY#x0bd!aôR5=1/R8=3, R8=0,R4++ ON 2ND LINE AFTER LAST LINE/ CPU TO C4=0:#xxxx (#0020 exp):> 2c!cjc>! ! c>'! !Mc>&! !1c>'! !Ic>! ! c>'! !c2c!cjc>&! !cR5=x/R8=x,R9=x ON LAST LINE/ CPU TO C4=#xx:#xxxx (#xxxx exp) (UPD R7 IN HSYNC)}02by02b{02bgb_!!?tƂvQYQYQYQY#x0bH ODD R9FR 1.2.3 (R4=1/R9=7) FR 3 (R4=0/R9=5) FR 4.5 (R9=7) FR 6 (R4=33)!Yә!Y͕XJ!QY> yaIiśFISIśFISIśRIIq IIIIWI II I0IIFISIIIII II I͑4Y!Zә!qYY͘XJ!QY> yaIiśFI-WIIq IIIISI IIFI I0IISIFII!Idb!bôYY:зdv!aiQYQI I y( ygx0"d2.dd!dô!!!""d> R8=0/R5=1/R9=6 ON LAST LINE. C4=#xx (exp #26) NOT FOUND:dv!aiQYQI I y(ygx0d2dd!dô!!!"d> R5=1 ON LAST LINE-1/R9=6 ON LAST LINE. C4=#xx (exp #26) NOT FOUNDIqIqII III&I#!eә!Ke0efghwhhèF!PͰ!ASSR5 ON LAST LINE. IF C4=#FF >> EMULATOR VBT!ON C4=R4=II II I͑8Z![ә!z\0e!"%\>32d\>E2e\>62W\[>02d\>02e\>72W\[!"%\>32d\>E2e\[è\ͭg!I\ʹ!e\4*%\#"%\vIIIśIqx>N0>Y2x\ON C4=R4+1/C9=7/R5=8/C0io=#3E : NEXTLINE: C4=0:xR5=0 ON LAST LINE OF ADD LINE!\ә\v>s\1Z]zW|gzW|gwwwwA1͑!Z]!"]!@^ut###P O      O O     O#26/C9=R9=7/C0io=#xx, R5=1, NEXTLINE:C4=#xxR5>0 ON LAST LINE WHEN C0>2 > ADDLINE CANCELED:xFROM LAST LINE, R5=1 ON C0=0, CPU TO C4=0 IS #xx (#xx Expected) WRONG!R5=2 / ON 1ST ADD LINE, R5=1 / CPU TO NEW FRAME:#xxxx (#0004 expected)R5=1 / ON 1ST ADD LINE, R5=0 / CPU TO NEW FRAME:#xxxx (#xxxx expected)R5=3 / ON 2ND ADD LINE, R5=1 / CPU TO NEW FRAME:#xxxx (#xxxx expected):!"|g!ٛ"g>2[gBg!"|g!"g>.2[gBg!"|g!"g><2[gBgpge*|g#"|g*g#"g&e!weʹ![g4!gͭgv!]ә!]0eq^]_͘_,``ta$b͘c9dIIèR8 ON LAST LINE:>!]!'>2^02X^b^!?tƂvIIII!#x0[^d!;^ôR8=3 ON LAST LINE/ CPU TO C4=0:#xxxx (#xxxx expected):!?tƂvIQ!țIIIۛYIq#x0_d!^ôR5=3/ON 2ND ADD LINE,R5=1,R8=3/ CPU TO NEW FRAME:#xxxx (#0084 expected):!?tƂv!IIqIq#x0_d!\_ôCANCEL IVM ON LAST LINE/ CPU TO C4=0Track-Info  RIII~#<(=ٛygx0ͭg&IqII#&':vIII'Ix>Y8>N2eͭg!eô:>& %h>&%h>&%h>&12Fh02ef|2ahvIIIq&$x0 f|> >2fͭg!eô!Uf$fͬh: !  !8!f!fkfͬhvIQ!țYIq#x0ͭgô:!8!f!ffivIQ!țśYIq#x0ͭgô!Iiәjjè!Xiәj!i!I"n>ͩn>ͩn!"n>ͩn>ͩnII!  ٛiaIQaYa>2yYqx>Y8>N2noI2II I#!qә!?tƂI II!"Et!<"RtF!sS!s@S!sS!tSzLAt-(O<(+!=tsS*Et#"Et*Rt+"Rt x !ft: s!it s!KsS͡t!uS!?uSsu!ufrfrfrfr!rSIIèIVM OFF BEFORE C4=R4 :xx,xx,xx / ON C4=R4+1:xx (00=OVF C4)"!s!2"wt!<"tft-(O<(+!=tsS*wt#"wt*t+"t x CRTC 2 ADD LINE TRIGGER (+)=AddLine (-)=No AddLine !in!jo!j?o͆oop!m!oT]Sp!m!śoSp>!m!śT]Sp>!jͪp#ͪp!j>!śq#goqpqjèF!AS!BkSǙ!i>-2k>12k>4Pk>5k! "k>4k>50k!kkp!kk!12n:j2nS!m>02n:j2n0SǙ:j2an>22Dn=2Rn!nPS:j2an>12Dn=2Rn!nS!cnS2k!{kSfkfkP k##SGHOST VSYNC VS LASTLINE - ON RUN R2=50/R3=12/R4=38/R7=30R3=14(O)=OuchPlease Wait...IVM ON FROM C4=R4/C9=3/C0io=58d TO C4=0/C9=1/C0io=3IVM OFF FROM C4=R4/C9=4/C0io=58d TO C4=0/C9=2/C0io=57IVM OFF FROM C4=R4/C9=4/C0io=58d TO C4=0/C9=2/C0io=57 (!!) vYś> 1, CPU TO C4=1/C9=0 IS #xxxx!Mx"w!{x"w!x"w>1!(x"w>2!w"w>32)y:!vә;x!?tvSI!IiQYFISIQqaiFIaASIFME:xY IF C4=0 ON 2ND LINE OF FRAME:xY IF C4=1 ON 3RD LINE OF FRAME:xR4=0/R9=0 ON C4=R4(38)/C9=R9(7). ON 1ST+2ND LINE:HSYNC OFF. C4=1 ON 3RD LINE:xR4=0/R9=0 ON C4=R4(38)/C9=R9(7). ON LINE 0 NB x:2 HSYNC. C4=1 ON NEXT LINE:xHSYNC ON C0=0 ON LAST LINE (C4=R4/C9=R9) THEN REBOOT LAST LINE.C4=0:x2nqv@I)  IɛI̛;Xxsw##qv@I  I;XxswqvI; IXxswqv@Ii  IqIכ;I IXxswIMx{x͐xQqai I0IޛFIaAIIII I II I͑ wQYQ̛%a$`$a%#SIʛ IIIFIʛQYQa`$a%#SIQqFIʛQYQa`$a%#SI!ͤIF {!@F!xPS! ySICRTC 2 : ADDLINE STATUS VS IVM ON/OFFTEST NUM >2y2;z2f{>q2y2y>I2y>Y2y2 z2z>2Ez!Ƃ"y!*{"z9>2y>2;z> >q2y2y>I2y>Y2##qv IqIqI>śyx>Y8>N2lI III&Iqv IqIqI>śśyx>Y8>N2lqv IqIqI>yx>Y8>N2=mo"pSp2pqv! aiiiqaqI>ooyx>Y8>Nwo2pqvP! iqaqQYIoIx>Y8>NwI.IIo26q"7qx2[qqv2 ! iqaqQQQYIQYIIx>Y8>NwoqvxTrack-Info  Ry2 z2z>2Ez!"y!H{"z!yә!?tͨzvIIIIIqIͅzqśYͅzYśY>0 IyͅzI III IIIII! Ia IiI͑îy>Ky ( Iqݛ>JQܛy!ͤIF {!@F!zS!*{PS!f{SICRTC 2 : ADD LINE BUG ON ODD PARITY, R4=1, R4=1, R4=1, R4=32ODD PARITY - IVM ON 1xC4=C9=0EVEN PARITY- IVM ON 1xC4=C9=0 R6<=R4 >> PARITY SWITCH> IaII@͑!RFf>?+~g>+!Tai!Jainf"Snf"~2l~2x!@S!i@S!S!S:>g$:?g(!0S!AS>>>>>>12345678<<<<<<<<<<<<<<<<<<<<<<<<<<C9=0 TO C9.IVM=0 , PARITY= (IVM PARITY SWITCH)BAD TRIP IF NOT WHITE COLOR ON POS 12345678 OF COLORED LINE (WHITE OR RED)(OTHER COLOR = PARITY ERROR AND/OR C9.IVM ERROR)FRAME STATUS #xx,#xx.PTQwO@00 12J2436@40 52J6476!}ә̓!͌{>!2{>dT] --= !{әFII!ASxP!}͂|s!a}͂|!j1!}ͮ|!{10!}ͮ|!1!E~ͮ|!1p!~ͮ|3į2~!~S`> 2~!~Sف! Sͣů2d!)S͍P> 2d!)SèI.IIIS!f|>,#P !|SS!݀!|YN@z8{w##pP !|SR9=7 R4=1>> UPD R9=1 WHEN C4=1,C9=1 FROM C0io=2C->3F (01 if C4/C9=0)R9=7 R4=1>> UPD R9=1+UPD R9=29 è III3IIfIII( III3IIfIII!ͤF!!^{s# x |g#JLJLTTTTTTTTTT !ә2S2i2>2Ň2Z vIIq>25I!KL_RI!o!>^#V#= ! Ia Ii IIQiI!Ҋ ~<( =yqai{ |(zyiپ#  I>0y IqYi͑2O(Hy2FO!E ~#foDͦO! ~#foDP*Cff>g> 2_:҇IO>Gx!!G >2Z(}2Ň`q>gx:҇gWHEN C4=1,C9=1 FROM C0io=2C->3F (01 if C4/C9=0)R9=7 R4=38>> UPD R4=C4/R9=C9 WHEN C4=C9=4 FROM C0io=0->3F (Y=LASTLINE TRUE)R9=7 R4=38>> UPD R4=C4/R9=C9+UPD R9=7/R4=38 WHEN C4=C9=4 FROM C0io=0->3FR9=7 R4=38>> UPD R9=C9/R4=C4 WHEN C4=C9=4 FROM C0io=0->3F (Y=LASTLINE TRUE)R9=7 R4=38>> UPD R9=C9/R4=C4+UPD R4=38/R9=7 WHEN C4=C9=4 FROM C0io=0->3FLASTLINE ACTIVATION ON R9x2 UPD:x (AFTER HSYNC)LASTLINE ACTIVATION IN VSYNC:xC4<>R4/C9<>R9 on C0=0. LASTLINE ACTIVATION ON C4/C9=0 UPD:x (AFTER HSYNC)!A!"!@!WPS!"4 IIIqqYiپQiF!4͹!WPS!SI&IR8 PARITY WITH RFD / KEY Shift=+/-R5 LINE=00 VAL=FF/R8 LINE=00 POS=00/VAL=711/2/3/4/Left/Right:R8 Line/Pos/Val, 5/6/78:R5 Line/Val!ASS>A!SP W !w###鰉Ot!"G!]"I!"I!O"G*C6!"K!"I"!"!*#"*#"vII@ II>yIIIIXxwI&III##Ǚͭͭͭ"Z!"E!݀@v! &iqj;*E#"EIIaIݛIIaIiIQaIIIݛaIIIQaixw#aiIQiY#I III#v! &Iqaiq͛iq͛iq͛iqx>Y8>N2~Ya>I2҇!"I!t"K>q2҇ɰ։!"!ʼn"!q!"!"!`!"!"!iO!"!։"!i>!"! "!S-!"!"!S!"!("!"!" <:Ox(qwq!"!"!@2>1!>3!@>5!>72k>O2vF!"!"> 2!@>1!>3!@>5!>72kv>E2v"ƋiIQm|#I III#v! &Iqaqiqx>Y8>N2cv! &IYiqћx>Y8>N2'wvII IIMxXIIq_!(vII IIMxXIIq!_(vIIII"<Xxqws͉͉ͭIIͭI!Ƃ"M>O2>2><2!78!"M>E222!7!!?!G!O!W !_!g!o:"C!Aә!ͭ!>ƂvIyKL&TIQ IYIIqaTrack-Info  RS C!ә 2>2ы>2vIIq>2͖I!KL IIIIqai II>2>(x2ы@͑͝a&áF!G͹!gPS!SI&IR8 IVM ON/OFF ON ODD C9, C4.0=1C9=0x ON FRAME:x (O:ODD/E:EVEN) R9 UPDATE ON C9=6 AFTER C0=R1 (HEY DMANU!!)vIIq>2M!W!>0!t!> !!>!!>"SS2[x2q"!'әͤvI͖IIqI͒ IIIIq IIIM=€Iq!MM0xXw#s#vIIq&I̛qnMxXw#s#:(!"9!Ƃ"E!"j! әF!"!AS!S!Ͱ!ʹ!{f!ʹ͂f!Жʹ!"fIIè>͟f>E >O2!ʹ͖v= PARITY SELECT ON CRTC 0/2FIX EVEN PARITYFIX ODD PARITYSWITCH PARITY O/E/O/E...PARITY CHECK :xx,xx : xvIIqvIIqM!?t:!( =(= !Ƃ"V͂v!?t:!{(=(=!(J͕͑͟͝0-śɯF!AS!5S!PS!ˎS!ͤI&I>P!w#!!^s# x |g#JTKTLJUTTTTTTTTTTTKSLWRUMFK_GWYNEPARITY TEST 1. EVEN FRAME. C4.0=1EVEN R9 BEFORE IVM ON ODD C9ODD R9 BEFORE IVM ON ODD C9EVEN R9 BEFORE IVM ON EVEN C9ODD R9 BEFORE IVM ON EVEN C9 r9r9r9r9 r8r8r8r8R8R8R8R8/;!WΏ!я>0!tΏ!я> !я!Ώ>!я!Ώ>"S2x2"![ә>R2ҏvI͖IIqͭ͟IIͭIͭvIIv IIjIIӛq IIKxXwsͭ  s#{ _->2*!%!*4|g0><@ r#{@8rq######= !@!~w##z !@!~w##z@ ɌJTKSL]RUMFK_GWYNEJTK:c0"0$:b0#0%:a0$0&:`0%>0>ߛ>>>>>>:[000:\>0>>>:]o>(>:_Kyٷ'@m !2P!Kyٷ'@m (I͒ IIIIśq III͕͑͝0fśɯF!AS!S!S!2PS!aS!ͤI&IPARITY TEST 2 (C4.0=1):EXIT IVM ON NEXT LINE R8R8R8R8 r9r9r9r9 r8r8r8r8!"G!/!>!OB!L!>!O.!"G!h!>! !!>! "S.26x2O"i>2_!ә͑vIIqM͖Iͅ IIIIq͉ III>w2_͈I͑͝-Bs##|g +:`!+|"͑ͭ"ͺSP!P"!šs1m@*"!š B1?(.&0e@|O |O |g}Po|gO6T]!w?~m#~͈# u&o))) ~#zW@W u&o))) ~#{~_>W~(y#~Iy#~Iy# s3I YI QI YI QI YI QI YI QI YI QI YI QI YIQ1YIH IPH{x Ox (   !MśśқIqśʛ!x#0Ƒ!SIèHL CALC=#xxxx F!AS! S!PS!S!ͤI&IPARITY TEST 3 (C4.0=1). ODD FRAMEEVEN R9 BEFORE IVM ON ODD C9ODD R9 BEFORE IVM ON ODD C9EVEN R9 BEFORE IVM ON EVEN C9ODD R9 BEFORE IVM ON EVEN C9 r9r9r9r9 r8r8r8r8R8R8R8R8>2>2>12e2!2.2+2U!"!"!"!"ʍ!P"!"!">2>2>02e2U2!2.2+!"!@"!"!"ʍ!"!"!"!dә>T2!"͑vIx0x8x0x8x8MMx8x0ś!*{OB:::z> ![PIXIqI? CIB= Iq IQ IYllllllll>X<|0f8l8vv0 000 0 0f<f<0 0`0 ~~`0 0`A2ڔ! > k+͵F!AS!S!Ͱ! x ̺̺̺fݔf|ݖ>:(>2##!Քʹ!ڔ4èPARITY FRAME SWITCH (CRTC 1)TEST 1: xx,xx WRONG!vIIqMxXw#s#vIIq&NIqMIqMxXw#s#2~vIIq>Track-Info  Rf~ffff|fffff~fff~~ xflxlf```bf8ll8ff|``8lvff|lf< <$0 x |v`|fffff>|`lvff8<ff<`flxl8<lfffffff<ll8lfff>|~L2~`> iGGGGiGrGGGGGGG:o:O:!H(!J Q> ͯJ J!JͨI&I>23I!&J˒S!&Jnf"lInf"gI~^V.dQIy IYHQK- I.IISHAKE24DBIN@VB@Vll8lfff>|~L2~` !hͨP = !hͨ> !J(!1K QͪJ!>˒II!3.IIiaz(40II!z = 1 CSYNC 4us (R2=#2E) VS 2xCSYNC 2us (4 flip/flop) (+R2=#33)> >>>2K2@@"ASA!"!B~_#V@#"AAկIA>0͋{202A}!Aͨ0!VDͨ!#Dͨ!hB>ͨP #= CRTC x!Y͛!BTKTULFFEEE"E)E0EEE"E)E~DDDDDD;L6LmKqKuKyKs^wswkw{www0k%mCPC SHAKER 2.4 MODULE D / LONGSHOT. LOGON SYSTEM(U) CRTC 3/4 : STATUS(I) SHAKER KILLER 2 (WARNING : NOT RELIABLE ON CRTC 1)(R) VSYNC TORTURE (LOCK MECHANISM)(T) VSYNC GATE ARRAY(H) HSYNC GATE ARRAY(1) CSYNC4 VS 2xCSYNC2(2) R2.JIT >> NO CSYNC UPD(3) 2xCSYNC RELATIVE(4) CSK!K(!L QͪJ&3LkI>_yI>y I!4.>3K= ,˵}g+Lk!Lͨ˒%S>@:ai(= auS2 CSYNC / LINE STUDIESR3=6 / R2=#2E + R2=#xx, R3=#xx!L!N"zL!GL(!L QJ!MPͨ!QMͨI>_yI>y IN̓L˒%S>.@?!LByyyyyyy y(yiM*M^Mg:MgcMk:MgfMk!^Mͨu[S8 CSYNC 4usec FOR 64 LINESUI 1.2=PTR LN / 3.4=BIT++ 5.6=BIT-- / 7=SET PIX 8=CLR PIXPTR LN MASKC326 0F 80菇O!yM ~#foMMMYNC MULTIPLES(5) WIP (SOME R3.JIT)(6) HARDWARE SCROLL 1 PIXEL MODE 1/0 (NO BUFFERING)(7) R2 OSCILLATION STORY(8) NO HSYNC FOR XX LINES(COPY) RESET CPCREAD THE COMPENDIUM: HTTPS://SHAKER.LOGONSYSTEM.FRC0vs=0 DEFINED WHEN VSYNC PPI.PORTB.0=1>>> > >0>@2D!D(!D QͪJ:DgDk!DPͨ˒%SI!.P> a&= e SüDNO HSYNC!!DURING #xx LINES>2E!J"iE/.z)0.>."0.>/1.>02.>0 >2E!F"iESE2EEkeEkEk!bE(!E QͪJhFIII˒MM NMCNTN*M:MG~w!MM!MM"{MS}M*M:Mw><2MO!fN ^#V"M>2M~2M!MM!MM"MSM>!&w>2M "M~2ME!MN! NM"MSM:M*Mw:M2MB"M~2ML*M:MG~w2M#*M:M/G~w2M$&&&&&&&&vvvvvvvv >NyO= !fNN>nf ##w#w#w#w= !O(!XO QͪJ!>˒II!.IJaiz(40a!z = CSYNC NOT RELATED TO R2.JIT (STABLE SCRE%S2!/.>ai,= SQ >.yQ SÀER2 OSCILLATION STUDIESR2 SWITCH BETWEEN #xx/#xx R2 ON FRAME=#xx> !>FFP = ~~##(zW SSSSI>_yP!Eͨ!>@>͡F:F2FP Pw#|g!H>1!H>0"F"&G2 Gx2H!F(HYG*H"F!"G2 G˒rGYa-i, I ><2 G H! ˜"GO!H F:G Iy:G0 IyISFI !4I,2YI"YITrack-Info  REN)&== I~IͰO@PtPͫPOqj!OII˒x0 %q qI>!rP28V v!\P!_Pv.b| p:˒x8)]T))N>Y8>NY2[0!'Z> ZII> 2Y2Y2Y& ZkfZk#!Z ˒SI IS ISI>= x2Y:Y 2Yu0SY:Y<2Y2Y2Y  GATE ARRAY VSYNC BELOW REF IS LAST REPREPxx==================================================R7=#0A/DURING VSYNC R7=#xx (SWITCH R7=#0A)(EXPECTED REPxx)2CZ!-Zͨ!  WZk!TZͨP $- I>JyɯZ!d[ ![ ![ IIq˒SI IS IhSL>KIyIuGS%[R7=#0A. ON C4=#0C/C9=4/C0=5 2QI!Q VSYNC R7 UPD / VSYNC PROTECTIONR4=38/R9=7.UPD R7=2 ON C4=1/C9=7/C0io=R0. VSYNC ON C4=2:x (N=TOO LATE)II˒MS IISx`RkbRkI!7R C4=R7 >>R9=31 VSYNC ON LAST CHR 16TH LINE=#xx / ON 1ST POS OF 17th LINE=#xxII˒SI!#x8)]T))Rg!R R3h=0.UPP R3h=8 ON 9th LINE. DELAY VSYNC OFF=#xxxx (CRTC 0.3.4:3F2/CRTC 1.2:1F4)II˒SI!#x8)]T))lSg!>S R3h=0.UPD R3h=8 ON 8th LINE. DELAY VSYNC OFF=#xxxx (CRTC 0.3.4:032>> R7=#0CRED LINE AT THE END OF 2ND GA VSYNC (C4=#0F/C9=6)ON CRTC 3/4 ONE VSYNC (ON REP0D) R7=C4 IMPOSSIBLE DURING VSYNC!\ !\ ^˒*>K!-?QIQqGqiIyQY I I)qaQ,*iQI I5I[!\ͨuhAS\MONITOR VSYNC LENGTH : L1.L2.L3=6 us/ L4=314 usIN 2 SEC >> MONITOR SYNC MUST BE OK. IMAGE STABLEPRESS SPACE BAR!] !] ^˒*>I!-?QIQqGqiIyQY I I+qaQ,*iQI I5/CRTC 1.2:23A)IIIqI˒qA!#| (x8SgS!S !I&IIIR7=R4=0/VSYNC SIZE=#xxxx (CRTC 0.1.2:#44 / 3.4:#FFFF=DEADLOCK):II˒S.IqB`EIYSBPXITk}TkgUk!T !T !U BLQ VSYNC: R3h=0/Upd R7=0 on C4=C9=C0=0. VSYNC=#xx (C0=6) Upd R7=1 (C0=15) VSYNC=#xx ON C4=0/C9=7/C0=R0 VSYNC=#xx ON C4=1/C9=0/C0=3!U &?BU&BU&SlUUkIIIq˒IIS`SUk!I[!\ͨuhAS]MONITOR VSYNC LENGTH : L1.L2.L3.L4=8 usec / L5=312 usIN 2 SEC >> MONITOR SYNC MUST BE WRONG. SCROLLING IMAGES2  !^ !^ ^˒*>K!-?QIQqGqiIyQY I I)qaQ,iQI; I$I[!\ͨuhAS'^MONITOR VSYNC LENGTH TOLERANCE 128uSecWITH THIS LENGTH: IMAGE STABLE IF V-HOLD NOT AT LIMIT!_ !^ ^˒*>K!-?QIQqGqiIyQY I IQ,>:yQICqaQi. U TST COMP C4/R7 ACTIVE DURING VSYNC FOR DEADLOCK (EXP #5F) R7=0/R4=1/C0=xx VSYNC=#xxIIIqI˒qSIII!#x8[VgS!'V R3h=0/R4=R7=0/ON LINE 9, R4=R9=7F: VSYNC OFF DELAY=#xxxx (EXP:#32):!"V!V II˒MS!<.+qIa`IQ>?2Yqy> y=ySI!+"V|( mKSÔVNWk!W THE SCREEN MUST BE STABLE VERTICALLY CRTC VSYNC 3 uSEC LENGTH (R0=2). C0=10 VSYNC READ IS #xx (EXP:#5E=VS OFF):!V !"WII$I[!\ͨuhAS_MONITOR VSYNC LENGTH TOLERANCE 64uSec:8 20`!J"^`>@2_>:2`_!_5= &`k!`[ͨ˒*>K!-? QIQqGqiIyQY I IqaQ,iIIK I$Iu KS `MONITOR VSYNC LENGTH TOLERANCE (PRESS SPACEBAR) :#xx uSec!hͨ!ma III>My˒%S! IqI IIIqIai!? .>qDaQYqiIy III'IIIIIu&S`VSYNC STRETCHING (SI˒MS? >qqg$IQYSI!+"W|(}KSXk!W R0=0 ON C4=R7 AND R3h=1 >> VSYNC DEADLOCK. ON C0=4 VSYNC=#xx (EXP:#5F=VS ON):!"X!V II˒MS!;.*>qIag IQ>?3Yqy> yySI!+"X|( kKSNXXk!X R0=1 ON C4=R7 AND R3h=1 >> NO VS DEADLOCK. ON C0=8 VSYNC=#xx (EXP:#5E=VS OFF)!Y(>V2[Y>1Q͸dme>2Q,ccͽ`S͔aS>3QqY>4QZ>5Q[]^__>6Q̓fVSYNC GATE ARRAY PG x!!Z:(>62Track-Info  RHORTEST VSYNC EVER):8>22b2)c!""b!""b!?",b>2Mb!hͨ!b !b !c III>My˒%S! YqII IIIQqMqIai!%>QYqi QaYY?qI.QY- QYYII'IIIk2 2 u$SaVSYNC STRETCHING CENTERED (START+END DISP)VSYNC END : KEY n=1..8 => SET 8-n,(#CB20)HSYNC END : KEY n=1..8 => SET 8-n,(#D320)!hͨ!c III>My˒%S ! II>ayIqQY!+IIRxw?qI͛!Aͨ! C"l>02ll:mgk!hlPͨ>12ll:mgk!hlͨ>22ll: mgk!hlͨ!FF"l>12l2ll:!mgk!hl@ͨm:"mgk!lͨ>32l>82ll:#mgk!l0ͨ>42l>92l>22ll:$mgk!lͨREADING CRT STATUS 1 BIT 0 ON C0=63 (=1) / IN A,( C) ON C0=60 >>#xxREADING CRT ST1.1 ON C0=31 (=0) R0=63 / IN A,(C) ON C0=28 >>#xxREADING CRT STATUS 1 BIT 0 WITH INI ON C0=59 :#xx:!1m(II͎qj[I|I> ͎qpj>1-q!Oo͟mj>2-qͅo GjqaiQyC! .qaQYiQI>?y II0Iku$SQcVSYNC STRETCH TEST C!hͨ!d ˒%S ! II>ayIqQY!,qaiQyC! .qaQYiQI>?y II0Iu%SdVSYNC STRETCH TEST DI>_y! e !>e !hͨ˒SI ISI@IS(IIIk2Nu SIDENTTFYING VSYNC START PIXELVSYNC START UI : KEY n=1..8 => SET 8-n,(#FB4E)I>_y!hͨ!>3-q͗ͷj>4-qjۊII>~2q!nq ͩn m !n  = II˒^VSI^!8xݦݮ +|(3; y> !6n8Rng˵nk!gn STATUS 'CONDITION FALSE' OK (ON FULL FRAME) STATUS 'CONDITION FALSE' WRONG (I/O VALUE LINE #xxxx ON C0=#xx)˒^VSI*xݦݮ 6!8R !oog!n STATUS 'CONDITION TRUE' WRONG (I/O VALUE LINE #xxxx) STATUS 'CONDITION TRUE' OK (ON FULL FRAME)01 2(3/ 4=6@@@ee͎e!RfeSe !f ˒%SI!eeSIk262728uS̾ I IDENTTFYING VSYNC START PIXEL ON R7.JIT VIA OUT(C),r8VSYNC START UI : KEY n=1..8 => SET 8-n,(#C336,#C337,#C338)IDENTTFYING VSYNC START PIXEL ON R7.JIT VIA OUTI!!Ng >2f:fgKgk!Bg ͶfS:f<2f II˒IIII!?>Bqy>JIQYqyIaqKQiI)I II8 Iu KSfTEST R3=#xxHSYNC R0=3 IN VSYNC!hg(I>My>H2[Y>1Q͂i>2[!نͨ.p͢oz Izo&y)) "og+pk˒SI!7x (*+|(++.x -((. q(!p! p7STATUS 1 BIT 5 : WRONG ON R3=#xxII˒SI!)x *+|(++.x ($-((. q(!ppg!p7qga*qk!p7STATUS 1 BIT 5 : OK (WELL DONE!)STATUS 1 BIT 5 : WRONG ON LINE #xxxx+15 FROM VSYNCSTATUS 1 BIT 5 : WRONG ON LINE #xxxx IN VSYNC, POS xx2kq͛!Aͨ!Lqͨ!PCRTC 3/4 STATUS FIESTA!! (PAGE x)CONTROL POSITION SQ͉g!hͨ!h !di h!igSh!6igSIISh ˒%SIIIIIjI>IYqYyqI>!?Ḧ́hQY= aIQI.I5III IIIk2"uSg1PQYF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627R0=1/R3=6 TO 1/R2=0 >R3 UPDATE ON C0=R2+R3+1 (=1) AND C0=R2HSYNC R3=6 ON 47th CHARSAME HSYNC 2 TIMES BY LINE (DISTORT EXPECTED)KEY n=1..8 => SET 8-n,(#E322TATUS 1-BIT x2s>!sw#!ssrq8rͳqq IBxw C IBxw ˒xo( ( a(yݶwɯ2r͛!Aͨ!sͨ!P!s &sk!r4f#sk!s ˒MSIxo( &q A^bj"r"r˒xg!r(!r"rN!M ˒SxGʩr& $xgʩrkSxG(O SW kSqsru88 q 8aq8yw q˒MS !IHqHqHqHqHqHqHqHqHqHqHqHqHqHqHqHqHqHqHqHqHqHq)II!hͨ!jͨ> ͯi> ͯi> ͯi>!ii !i29j>2j2)j 29j2)j>2jx2j:9jgjk!j iSII˒%S!>IyqYiQIYaO>y Y?aIi.IIII'IIIII IISIk2*u]$SjHSYNC SIGNAL ON HSYNC LOOP (C3 OVF), R3=#xx (-#0B=Signal size) DISPLAYEDKEY n=1..8 => SET 8-n,(#D32A) SEE MARK #15 ON CRTC 0O!'k ~@ :!%w#%Bxw#>@qTrack-Info  RHqHqHqHqHqHqHqLS,}&s (WITH R5>0)SEARCHING CRTC REGISTERS FROM SCRATCHCRTC REG #xx=#xx!t(Qvx˒>28!6t!wIv!8tAWJQYj2S tSK 2-UNRELIABLE INTERRUPT SYSTEM BETWEEN CPCsCRTC-HSYNC NOT RELIABLE ON CPC FOR R52 MANAGEMENT >> Z80A INT SIGNAL01020304050607 INT DELAYED 7us (SET n,(IX+n'))xxXXxxXX1u2u3uxxXXxxXXTEST INT ON INST SET n,(IX+n'):#xx (#40 0/16 or #44)TEST INT ON INST CP (IX+n):#xx,#xx (C2/C2 or C5/C5 or C2/C5)TEST INT ON INST DEC DE :#xx (CRTC 3+4:#58/ OTHERS:#59)Unbreakable DD Prefix on Pending Int #xx (Exp#00), On R52:#xxxx (Exp#0E18) HSYNC OFF on 0/16Mhz 1-2/16MhzBreak ED xx on Pending Int #xx (Exp#00)͛I>Ky!Nt!Aͨ!Ntͨ!|tPͨ!tͨͨ!tͨ!uͨ>2w!x"w͠wf'uk!x"w͠wfXukf\uk!x"w͠wfuk!uͨ0!x6#6>28!wݾwReuk!.wug!uͨ!FwDDwReEvk!)v ͨ>2w!xQx(!xkx !x\x!xy>(!40!$!!39>'$I(I"ʀIy>I!@0I!^Vz(3zW} | ~ ###~(#Ig!7I!̀STATUS 1 BIT 7 : WRONG AT #xxxxth uSEC OF FRAME / R1=xxSTATUS 1 BIT 7 : OK??7 w 7 w  O  O __/$o$$$/%o%%%&G&&&'G'''2W2223W333'>g>>>'?g?????@@@@?AAA7JwJJJ7KwKKKx!xx!xx"wSw!w(xsw!"8!w>v!x81ey!01!cy͛!Aͨ!5xͨ!Qxͨ&!P x!x x|$gFxknfLxg!Ex ++INT Z80A SIGNAL#xx : #xxxxNOP (4 TC)CP (HL) (7 TC)DEC DE (6 TC)ADD HL,DE (11 TC)CP (IX+d) (19 TC)SET d,(IX+d') (23 TC)w> >>!w !6#6#6++ !6#6#6#6+++ !ky(˒SI@ILLOLLLMOMMM??< | < |  U  U +k+kDD&Z&&&'Z'''02p22203p333 4I444 5I555@_@@@A_AAA5LuLLL5MuMMMI!@0I>s119 >1 o ̓  Ԉ 6 1I!00"僯ͨ>ͨ>202ȃɯ202ȃ!01" II!FF" II IqII!01!40"݃I˒S!qIYBq?II(I y|!ݓqI>y!>?yI(I IISI0S!y(z˒S>sz1zzW|gzW|g@wwwwAC1S!z!Hz!@^ut###P O      O O     O˒II IIMSxXIIq_!(S˒II IIMSxXIIq!_(S˒IISII"p1!K~(8# x ~ -#~($# x !!M~(# x ~ !Iքg!I7STATUS 2 BIT 0 : OKSTATUS 2 BIT 0 : WRONG AT #xxxxth uSEC OF FRAME!1~(# x ~ #~( x !+IZg!?ISTATUS 2 BIT 1 : OKSTATUS 2 BIT 1 : WRONG AT #xxxxth uSEC OF FRAME!;~(# x II˒SIIqS˒SIIqMS!|:! |( =(=¸z!s{"{ |˒S!|:!|(=(=!m{(z*|*|III˒II˒ IIjSII(q IIKSxXws  s#{ _͂>2|!Ͱ|!|4|g0><@ r#{@8rq######= !@!~w##z !@!~w##z@ ɌJTKSL]RUMFK_GWYNEJTKTrack-Info  R~ #~( x !Iޅg!ÅISTATUS 2 BIT 2 : OKSTATUS 2 BIT 2 : WRONG AT #xxxxth uSEC OF FRAME[!نͨ˒SI@!@ x*MS !MMSxGMS MSx MS Zx(MScx MS% !2STATUS 2 BIT 3 : OK (WELL DONE!)STATUS 2 BIT 3 : WRONG - BAD CYCLE PERIODPLEASE WAIT, DON'T BE AFRAID...˒SIxMS! MSxO;MSQqYqq#I?H &! I2!V˒uSIIrPY jaxw x(4455BK45,} I!@0I:0"0$:0#0%:0$0&:0%>0>4>7>>>A>H>K>R:000:>0>M>P>:o>(>̀:j̀::_Kyٷ'@‘ !͇P!Kyٷ'@‘ (Bs##|g ̀:C!+|C""èP!P"!YSsV1m@*"!Y B1?(.&0ke@|O |O QYai y|!fk! !56! ÇÇ6! 6L,6I,4fk6:, fk6/,#-6 ,6 ,STATUS 2. FRAME START LINE 0:#xx, THEN RLAL AND 10 STATUS/LINE :b[>1p!M~ $# x ~(!!N~( # x !Ig!I7STATUS 2 BIT 4 : OKSTATUS 2 BIT 4 : WRONG AT #xxxxth uSEC OF FRAME!'?~(#~ # x @ ~(!IFg!+ISTATUS 2 BIT 7 : OKSTATUS 2 BIT 7 : WRONG AT #xxxxth uSEC OF FRAMEI%IIII&II|g}Po|gO6T]!w?~‘#~ݑ# ʓ&o))) ~#zW@W ʓ&o))) ~#{~_>W~(y#~Iy#~Iy# sI YI QI YI QI YI QI YI QI YI QI YI QI YIQ1YIH IPH{x Ox (   !Mx0x8x0x8Sx8MSMSx8x0!{OB:::zpq!'~ (# x @~ # !Ig!ԉI7STATUS 2 BIT 5 : OKSTATUS 2 BIT 5 : WRONG AT #xxxxth uSEC OF FRAME!N~@ # x !1I`g!EISTATUS 2 BIT 6 : OKSTATUS 2 BIT 6 : WRONG AT #xxxxth uSEC OF FRAMEIMI III22>!0FY!1NY!2VY!4fY!5nY!6vY!7~Y[>p>*!k"2!0FY!4fY> 2!I">͂ͨ!0FY!1NY!2VY!4fY!5nY!6vY!7~Y> !PIXIqI? CIB= Iq IQ IYllllllll>X<|0f8l8vv0 000 0 0f<f<0 0`0 ~~`0 0`fff~fff~~ xflxlf```bf8ll8ff|``8lvff|lf12>!I"!0FY!1NY!2VY!3^Y!4fY!5nY>*2!J"I~I>!5nY> 2!I"!6vY!7~Y>*!["2I'I>I(I!7~Y> 2!I">͂ͨ!0NY!1NY!2VY!3^Y!4fY!5nY!6vY!7~Y|2}2͛!HT]O6|g0P!!C ! ! ! !7 !I !A I!JLIi I>Ty Ias11!]TP@!N>~(7w# |g0 kb,u(I1#SITISILIu8 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 l88lfff<<ƌ2f<00000<< <$0 x |v`|fffff>|`lvff8<ff<`flxl8<lfffffff<ll8lfff>|~L2~`>LINE 0..311 / Y AXIS=C0=00.63 //// RED=0 / YELLOW=1STANDARD REGISTERSVARIANT : R3=#7EVARIANT : R1=39VARIANT : R4=37 / R5=8I'I>I!@@I!@@I!@@I!@@II(I˒SIMI IIIéA2>!/S˒SIIpPY jaxw x(4455BK45,} I!@0Track-Info  RSHAKER24BASpii? "SHAKE24A"x "B" "SHAKE24B" "C"  SHAKER 2.4 LONGSHOT/LOGON SYSTEM&(  "SHAKER 2.4 / LOGON SYSTEM"2< "MODULE A : PRESS A"A "MODULE B : PRESS B"F "MODULE C : PRESS C"P "MODULE D : PRESS D"$d"" ""(C)n "A" "SHAKE24A"x "B" "SHAKE24B" "C" "SHAKE24C" "D" "SHAKE24D"Track-Info  RTrack-Info  RTrack-Info  RTrack-Info  RTrack-Info  RTrack-Info  RTrack-Info  RTrack-Info  RTrack-Info  RTrack-Info  R         Track-Info ! R!!!!!!!!!Track-Info " R"""""""""Track-Info # R#########Track-Info $ R$$$$$$$$$Track-Info % R%%%%%%%%%Track-Info & R&&&&&&&&&Track-Info ' R'''''''''