EXTENDED CPC DSK File Disk-Info WinAPE 2.0B03 (Track-Info  RCRTCTST BINSHAKE22ABIN?@ASHAKE22CBIN !"#$%&'(nRV BASRVICRT1CBIN SHAKE22ABINLBCDEFGHVhkRVLLCRT0BIN SHAKE22BBINXYZ[\]^_`auvwxyzRVLLCRT2BIN  RVII1 SCR )*+,-./0123RVII1 SCR{456789:;<=>IJKLMSHAKE22CBAK SHAKE22CBINSHAKE22BBINFN!hGʙA!A ~ʞAñ@@"ASA!"!A~_#Vʱ@#"AAկ^>0{2022tW!Frr!oWr!Cr>r= TPXZG\^`bcbl`dkeLJӏɏΏďE$.8%.7  '.9<@DHLPTpHHHHHKKKLLLQQS!S+S5S\NjNsQ3{7{3xxxy ygx_xxxxxIxxxy ygx_xxxxxuwQtYtTPXZG\^`bcbl`dkeLJӏɏΏďE$.8%.7  '.9<@DHLPTpHHHRV BASp33BIN""n CRT "RVLLCRT2.BIN"  Ox  LOGON SYSTEM / LONGSHOT " RVI (CRT 1) /RVLL (CRT 0,2)( ? 2 "CRTCTST" @< CRT()F  "CRTC "; CRTP ,"Z CRT "RVLLCRT0.BIN"<d CRT CRT , CRT"RVICRT1C.BIN""n CRT "RVLLCRT2.BIN" AY INKERISATION (3 TST)(E) GATE ARRAY MODERISATION(R) MODE UPD >HSYNC 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 (11 TST)(3) CRTC 2 RVMB (22 TST)(COPY) CRTC 2 OFFSET(DEL) RUN ALL TEST (4 SEC EACH) / Z80A SYNC ON CRTC CNT <> CRTC CAR DISPLAY!! REF C0vs=0 DEFINED FROM CRTC VSYNC FROM PPI.PORTB.0=1 !!!"!tG H2G>?2GRVICRT1CBINee}I YI QI YI QI YI QI YIQ1! w̓z1eIIIA~> Iyy11!@?q> IqQY Qq1e\YYq! 0C:022*C##"C8S"  ^#VSr+s"~:8*/+"/*#"͓!I͖"~??2 & ! ! !> ! 0͗!0>͗!s,r# x s,r# x * "! "CRTCTST BIN@OO>0 @{2YIH IPH{y2x O>0 @{2YIH IPH{y2x Ox (   I!@@II!@@I!m@.1͛@Aա!"!!BFʞA!CNʞA!CNʞA!oFʙA!BNʞA!CFʞA!CNʞA!SFʙA!CNʞA!VʙA!RCVʞA!ZC^ʞA!hC^ʞA!VʙA!&CvʞA^!BʞAV!CʞA^!zCʞAf!HCʞATrack-Info  RS !"C!".tutut u t ututututu = 02468:<>!1>0= >&1..q,w<$$-?;;97531?;;:8642?;:;9753?:98:864?987;975?;;;;:86?; ;;;:97?; ; ;;:98>> !nfV@ ! = !@>?;%:09;8F7Q6\5g4r3}21Iy,?ytS^gyS^gqyS^gqyS^qgyS^qgyS^qgyS^qgySq^gySq^gyqS^gyS!Mx0x8x0x8x8MM!{OB:::z ~(y#~Iy#~Iy# sI YI QI YI QI YI QI YI QI YI QI YI QI YIQ1 U"T"(6#6+|g U"USZ6#6+|g !U"-U"6#6+|g >"OU266|g> U+6|g q^gySq^gy!"!I!!~2~Yy+ RVII1 .SCRTDU\X]LEMVFW^@_NGORBSZY[JCKI!@!@@I!Mx0x8x0x8~x8M~M~!{OB:::z›~(y#~Iy#~Iy# s:I YI QI YI QI YI QI YI QI YI QI YI QI YIQ1NORIES -LAST LINE-R6=0/FF F II+6|g  >g6|g  6|g  76|g  76|g 46|g sXV+6+6##|g 1s~VU㾾6#6+|g 1!RV6#s#r#V6#s#rsVR+6+6##|g 166|g s6|g  >02W2NX<ͭ^>42W>72X!W͔!W4P !W͔!W4P !W͔!X5P !%X͔!NX4P CRTC x, TZSV V 1ROM 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!}O"zO! O"N !O"zO!O"N!|N-Ow! ai$aY$a-i$aAQIQq!OI(>^Yͺ#= Q! 0 aqiQ,iY$$aIݞÂN'&%$#"! @@@@@@@((((((((@͇I>Wy!O ͔!oW͔!͔!b@͔!O͔!O͔!O0͔}O!PRVI0CRT2BINpI QI YIQ1@!44!! w̓z1?IIIAͯIq QYͯ1!>  qAQIy1yvyYQYRVLLCRT0BINfI YI QI YI QI YIQ1@?2;9753113579;2?!5 w̓z1T~IIIAIq QY 1!>>  qi ^#VSHr+s"kh?02& !F9kB!? !2 QY! 0C:02222*####"!SB> ^#VSGr+s"bͯh?02 & ! ͯ! ! !" !> ! 0͍!0>͍T] ~#~#~#~++++ x *>"!>"GS>!"!"ututut u t utututut = !"!I!!~2~Yy+ RVII1 .SCRTDU\X]LEMVFW^@_NGORBSZY[JCKI!@!@@I!Mx0x8x0x8ͯx8MͯMï!; !9!7!5!3!-1!;Hiy45i45yiιyi45yiιyiy45iy45i?Yü! ! !" !> ! 0!0>T] ~#~#~#~++++ x *>"!>"HS>!"!"!;"*ututut u t utututut = !\"!I!A!~2+~Yy+ RVII1 .SCRTDU\X]LEMVFW^@_NGORBSZY[JCKI!@!@@ITrack-Info  R!{OB:::z~(y#~Iy#~Iy# skI YI QI YI QI YI QI YI QI YI QI YI QI YIQ1pITYQ!>UQ =(IITYQ!>VQ =(Iݞ%S\>62z]>A2]>4ͭ^!_]͔!z]͡YP !]͔!]ͫYP !]͔P!]͔EX (SP),HL OFFSET PTR SP=00, H=#$H"GDGHL^^TȌ@ dD̀ D+ +DH+̨+   !G6:!NA2#< !W~y#~y#02"# (. 0FF, 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)!%^X^w!>͈UQ =(ݞ.-+^>62^>5ͭ^!|^͔!^͡YP INI OFFSET PTR HL=00 I/O=#FF STORED IN CRTC R152W^͚> 2uW!oW͔2uW!.͇!^城TKTULIdwI>Xyh`"_ͻh`"_>yPS_!"=_!d_wI>yxw>y#*=_#"=_   393A9x(   }}i[[[[^I40    T G^^pp   RVLL2 SCR|||    93ș6<    h@@88     H    ^HHV  @@@@@@H}}<^^^<4p@@@@@@@@@@@`@<<<,@@@@@@@@@`HSYNC 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 (11 TST)(COPY) CRTC 2 OFFSET(DEL) RUN ALL TEST (4 SEC EACH) / Z80A SYNC ON CRTC CNT <> CRTC CAR DISPLAY!! REF C0vs=0 DEFINED FROM CRTC VSYNC FROM PPI.PORTB.0=1 !!!"!tG H2G>?2G  .~  HHHHHHHHHHHHHHHHHHHHHHH@HHHH<2G:G <2K!I"I!wK"+IT>2K!I"I!+K"+I>22/K<>2K!GJ"I!(K"+I>12/K$!J"I>2K!EK"+I!J"I>2K!cK"+I>2K>2 I!HoIwI IKIA0~KII+KI(I ~K_III I1~KݞH͇!I*͔!oWSHAKE22ABIN@eB@e3333f>`|~L2~0123456789ABCDEF 0<3? ( ĐДԁ ( "*ç@I!@@II!@@I!m@.1͛@Aա!"!!BFʞA!CNʞA!CNʞA!oFʙA!BNʞA!CFʞA!CNʞA!SFʙA!CNʞA!VʙA!RCVʞA!ZC^ʞA!hC^ʞA!VʙA!&CvʞA^!BʞAV!CʞA^!zCʞAf!HCʞA ͔!Ip͔I>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 (C4=0,C9=1)T04-1ST LINE IN DISPLAY AREA : SEQUENCE R6=0/R6=8/ WHEN R1>R0T05-50 L. FROM 2ND LINE IN DISP AREA : PATCHWORK R6=0/R6=8 WHEN R1>R0><2K 2 Iɾͮ>2qIqIqI=(̠qI!@aiͼ>(y I@IIƠY  N!hGʙA!A ~ʞAñ@@"ASA!"!A~_#Vʱ@#"AAկ^>0{2022tW!Frr!oWr!Cr>r= TPXZG\^`bcbl`dkeLJӏɏΏďE$.8%.7  '.9<@DHLPTpHHHHHKKKLLLQQS!S+S5S\NjNsQ3{7{3xxxy ygx_xxxxxIxxxy ygx_xxxxxuwQtYtTPXZG\^`bcbl`dkeLJӏɏΏďE$.8%.7  '.9<@DHLPTpHHHTrack-Info  RIQ IY>@2L!-$"K> 2K19>B.>2L!#"K>2K18>C>2L!#"K> 2K09>A2[Ly2hLz2wL!K%Lw#I @IYIYIYIY(Ԡݞ<̯͇!EL ͔!oW͔!XLP͔R6 STORIES -AGAIN-T06A-ON C4=9/C9=0 PATCHWORK R6=9/25 IN DISP AREA FOR 64 LINES!@"*M! "M!NN";M!M"WM!%"M>!@"*M! "M!NN";M!M"WM!"M!@"*M!"M!@N";M!wM"WM!"M!L:MwIYIYIYIYI(Ԡ@ݞH!@N͇!`M ͔!oW͔!wMP͔R6 STORIES -LAST LINE-R6=0/FF F II+6|g  >g6|g  6|g  76|g  76|g 46|g sXV+6+6##|g 1s~VU㾾6#6+|g 1!RV6#s#r#V6#s#rsVR+6+6##|g 166|g s6|g  >02W2NX<ͭ^>42W>72X!W͔!W4P !W͔!W4P !W͔!X5P !%X͔!NX4P CRTC x, TZSV V 1ROM 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!}O"zO! O"N !O"zO!O"N!|N-Ow! ai$aY$a-i$aAQIQq!OI(>^Yͺ#= Q! 0 aqiQ,iY$$aIݞÂN'&%$#"! @@@@@@@((((((((@͇I>Wy!O ͔!oW͔!͔!b@͔!O͔!O͔!O0͔}O!P.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!VX Yw!>ͺVQ =(!>VQ =(!g>TQ =(!>"UQ =(!>GUQ =( ݞ3 \X>72Y2Y2Z2GZ>52xZ>2ͭ^!Y͔!Y͡YP !Y͔!Y͡YP !Y͔!Z͡YP !)Z͔!GZ͡YǞ!PP͔!LP͔!Ǟ!PP͔!P͔!Ǟ!PP͔!/Q͔R1 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<>R9PROCESS : UPDATE R1 ON 16 LINES (64 x 7, 40 (C9=7))+(40 x 7, 64(C9=7))STORY 3 : R1=0 EFFECT (EACH LINE : 4 x OUT R1,0/OUT R1,40)PROCESS : UPDATE R1=0 FOR 4x8 Lines FROM C0=3C, C0=3D, C0=3E, C0=3F!O"zO!QP !ZZ͔!xZ͡YP ~<: >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!Z;[w!>jUQ =(!6>ͫUQ =(ITYQ!>UQ =(I ITYQ!>UQ =(Iݞ(ÍZ>52[<2[>3ͭ^![͔![͡YP ![͔![͡YP !-OwI>Y>GyI( Qy >Wyݞ(ÅQ.IYqYqYqY-Ԡ!)ڠR >?!(٠R2 R2R"RS@RC\R! RNRw)I@dQIͺ dͶ!RI ڠݞtR͇!oW͔!R ͔I@ITqI!GaiI>KyPR1 IO A >> R1>R0 >> R1=0 ON C0=0 (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="WSSeS2S!MSuSuSwCIA@ݞ͇!S [͔P!\͔LDI 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)!M\ ]ẃV!>[VQ =(!:>͘VO =(ITYQ!>UQ =(IITYQ!>VQ =(Iݞ%S\>62z]>A2]>4ͭ^!_]͔!z]͡YP !]͔!]ͫYP !]͔P!]͔EX (SP),HL OFFSET PTR SP=00, H=#!oW͔!S͔!S͔R1TST : C4=R6-1, C9=R9, PREV R1=40, OUT R1>R0 ON C0vs=#25CRTC-VMA'=#C000+(80x24)CRTC-VMA'=#C000+(80x25)!TVw!>ͨTQ =( B>TQ =(B>;VO =(B>TQ =( ݞ. Ts6|g  6s|g  U"T"(6#6+|g U"USZ6#6+|g !U"-U"6#6+|g >"OU266|g> U+6|g Track-Info  RFF, 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)!%^X^w!>͈UQ =(ݞ.-+^>62^>5ͭ^!|^͔!^͡YP INI OFFSET PTR HL=00 I/O=#FF STORED IN CRTC R152W^͚> 2uW!oW͔2uW!.͇!^城TKTULIdwI>Xyh`"_ͻh`"_>yPS_!"=_!d_wI>yxw>y#*=_#"=_.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=#xxLOST & 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 xEw I>yxXPh`H!-`wsrutqI!86,6y,6,6#6#6#6!wI>I!r`k!:k!m%kk!k!"m%kk!*mfk^_k[Id:(pwI>yx2ax2a8<>y>yx2a8)>yx2a8@>yx2a>y!a!"`a!Ӡ"aXa*`a#"`a*a#"a!Zb!. b b bawI>yxw>y>y)/ +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/C0vs=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)>8k!Jk4##= w@ II IXxsww@I+ xwӠxw>y>yxw>yxw!#x8u>y !bw>Iy*Iq3b*&b#"&bwIq.Iqxw!,(x0u>y!&ai##>2b<2b!rb!ޠ"Pc! "c>bͯb>bb!ߠ"Pc!-1"c:bbb:bbb[͇Ss!oW͔:\cgcW:]cgcW:^cgcW:_cgdW!`crrrrrr2,c02qc3>- >/2.cx2Fccw!\cM>-qyxw#Ixw#QYޠxXw#sLOST VSYNC ON R0=0 (EVENT)R4=38 ʹ> y"< IXxsww:JkyMXxsw II> 2JkyI2II!mI.I͇!,m͔!Gm͔!fm͔!"ml!ml>52m> 2m!*ml!m͔2m!m`͔:_g\nW:_gnW:_gnW:_goW!(nrrrr:_g"oW:_gioW!o@͔!%o͔!-`o>f#W= !lo͔!oWÔfmWfmW!m>22m>l͔!m4P ##= ɎJKTVSYNC MANAGEMENT DURING R3R3 APPLIED ON ALL VALUES OF C4R3 APPLIED ON ALL VALUES O 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=#xxIdwI>yͮ>y!#x8>y}2Hd!dld*sd#"sd#wMxw!d͇!f͔3`"_dͤ`Ud!oW͔!f͔P!/g͔!f!͔!d_f!Mg͔!͔:HdgOjW!j@͔!dYe>fW#= !#e͔[GET PPI.B LAST LINE BEFORE C4=R7 ON C0=62.63.0.1.2.3 >xx,xx,xx,xx,xx,xx!qe͇!oW͔!PF 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,C0v=#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 LINE"s:ƒf!h͔!hP͔>E2h2Mi2i!6B" j>/2h!ae>F2h2Mi2i!38" j!h4fhWfDiWfviWfiWfiWfjW!hrrrrr r>02j=2zj!Zb!zj~ >,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,... PPITrack-Info  RS AFTER R7=C4 ON C0vsio=#1E:xx,xx,xx,xx,xx,xx"oSoIII&Ipw!o?qƠI9Xx2o!p!i"p!`M"=p s!r>wiqI?I`MXxw#*p#"p*=p+"=p= !c"q!r!G"r!Iq!G"rq!G"r!>Iq!G"rq!#"q!r!G"r!Iq!G"rq!G"r!>Iq!G"rq:(!r>2vr> 2r&r2vr>2r&r!r!9esWN#!ls is!Ls͔P $- "s!Ơ9ͮo:ogsW!sr!Ǡ9ͮo:ogsW!srr! "Mt!<>"It!rͥq> ͥqON C4=1/C9=7/C0io=R0. VSYNC ON C4=2:x (N=TOO LATE)!E!EQM͒FE7G͹GMHH͕IEJ͹KZLIIʀR8 ON LAST LINE:>! F!'>2;F02yFF4!`\ij͘ IIII!#x0|F4M!\FրR8=3 ON LAST LINE/ CPU TO C4=0:#xxxx (#xxxx expected):!`\ij͘ IQ!IIIYIq#x0!G4M!FրR5=3/ON 2ND ADD LINE,R5=1,R8=3/ CPU TO NEW FRAME:#xxxx (#0084 expected):!`\ij͘ !IIqIq#x0G4M!}GրCAN> !=="Itͥq:( !=0"Mt> ͥqݞc2;t>02tf#n#7tS! tr>12tf#n#7tW! tr"q2qwc;?qQYI YYIGxw#!?"r!IRr!?"rXr!?"r!>IRr!?"r"r2rIqI&IpwIIII ;?qQYI YYII I?IIxw#SsÔrÔ!P"s^!oW͔!+s͔!osP͔R0=3F / CRTC IO ON R0 (OUT(C),C)UPDATE R0=7F, OUT ON HCC=3A :xxOKOOK: C0=..3F..40..CEL IVM ON LAST LINE/ CPU TO C4=0:#xxxx (#0004 expected):!`\ij͘ !IIIqIIq#x0|~L2~0123456789ABCDEF 0<3? ( ĐДԁ ( "*ç@I!@@II!@@I!m@.1͛@͑A*| 2!AnAM!"!}!mFiA!ANnA!{NiA!NBFnA!}NiA!,BFnA!cNiA!BFnA!&BNnA!BVnA!3MViA!EViA!E^iA!A ~nA@@"|ASvA!"!A~_=0:#xxxx (#0004 exp):!`\ij͘ !IIIqII'qQY#x04J4M!IրR5=1/R8=3, R8=0,R4++ ON 2ND LINE AFTER LAST LINE/ CPU TO C4=0:#xxxx (#0020 exp):> 2%K!KK>! ! 8K>'! !M8K>&! !18K>'! !I8K>! ! 8K>'! !8K2%K!KK>&! !8KR5=x/R8=x,R9=x ON LAST LINE/ CPU TO C4=#xx:#xxxx (#xxxx exp) (UPD R7 IN HSYNC)}02Jy02J{02JgK8_!!`\ij͘ QYQY#V@#"|AuAկA>0X{202AJ!Au0!Du!~Du!B>uP #= CRTC x!&䁯h!AƁTKTULrrrrrrrsrsQdQ^^_Laaaa^Yjjjjjjjjjjjjjjjjrzzottttvvvv(xBx\xpxVxpxzzottttvvvv(xBx\xpxVxpxCPC SHAKER 2.2 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 : IVM ON/OFF(5) CRTC 0.2 : PARITY CHECK SELECT(6) CRTC 2 : C9.IVM SWITCHQYQY#x0K4MK4!JրYY:зM͘ !aiQYQI I y( ygx0CL82OLM!"Lր!!!"CL> R8=0/R5=1/R9=6 ON LAST LINE. C4=#xx (exp #26) NOT FOUND:M͘ !aiQYQI I y( ygx0L82LM!Lր!!!"L> R5=1 ON LAST LINE-1/R9=6 ON LAST LINE. C4=#xx (exp #26) NOT FOUNDIqIqII III&IDh!9M!lMQMOO'P͘PQʀh!PҀ!AuuR5 ON LAST LINE. IF (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) ADD LINE R5 ON LAST LINE(P) ADD LINE R8(CAPS)(F0) (R) VSYNC R7 UPD(U) (I) (T) (S) (CTRL) (0) (DEL) RUN ALL TEST (4 SEC EACH) / Z80A SYNC ON CRTC CNT <> CRTC CAR DISPLAY!! REF C0=0 DEFINED FROM THE MICROSEC WHEN CRTC VSYNC SET PPI.PORTB.0=1 !!!E!_EQM'Eʀ:!8+͘ IIx>Y8>N2EI!lEրVSYNC R7 UPDR4=38/R9=7.UPD R7=2 Track-Info  RC4=#FF >> EMULATOR VBT!ON C4=R4=#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):!"O!"O>2|OcO!"O!"O>.2|OcO!"O!"O><2|OcO͑OM8*O#"O*O#"O&MqI; I IXxsw##Y͘  IqIqI> yx>Y8>N2TI III&IY͘  IqIqI> yx>Y8>N2UY͘  IqIqI> yx>Y8>N2^UW"XSX2XY͘  ! aiiiqaqI>WWyx>Y8>NwW2YY͘ P! iqaqQ YIo Ix>Y8>NwI.IIW2WY"XYx2|YY͘ 2 ! iqaqQQQYIQYII8!Mր!|O4!OO͘ III~#<(=ygx0O&IqIIDh&':͘ III' Ix>Y8>N2MO!Mր:>& FP>&FP>&FP>&12gP02N1N|2P8͘ IIIq&$x0,N|> >2=N8O!Mր!vNENP: !  !8!N4!NNP͘ IQ!YIq#x04Oր:!8! O4!ON'Q͘ IQ!YIq#x04Oր!jQ)RRʀ!yQ)R!Rx>Y8>NwWY͘x II!  iaIQaYa>2yYqx>Y8>N2VWI2II IDh!Z!`\ijI II!"f\!<"s\h![u![@u![u!#\uzLb\-(O<(+!^\su*f\#"f\*s\+"s\ x !\:-[!\-[!l[u\!&]u!`]u͔]!^f[8f [8f[8f[8!ZuIIʀIVM OFF BEFORE C4=R4 :xx,xx,xx / ON C4=R4+1:xx (00=OVF C4)"B[!2"\!<"\͇\-(O<(+!^\su*\#"\*\+"\ x CRTC 2 ADD LINE TRIG!I"V>V>V!"V>V>V!RW!!R7W!#R`WͧWW:X!U!WT]tX!U!WtX>!U!T]tX>!%RX#X!'R>!%Y#go%Y͑Y@Rʀh!Au!cSu!R>-2S>12S>4P7S>57S! "S>47S>507S!S=Sp! T=S!]T=S!Tu!Tu!UPu!`Uu!Uu!UDu!Uu!U>12'V:%R25Vu!U>02'V:&R25V0u:'R2V>22eV=2sV!7VPu:(R2V>12eV=2sV!7Vu!Vu2S!SufS8fS8P S##uGHOST VSYNC VS LASTLINE - ON GER (+)=AddLine (-)=No AddLine (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 (!!) ͘ Y< qXxͩ\͘ Y2 q< !&I IijIͩ\͘ YqI(I!x#0[]4ͩ\͘ YII!x#0Iq]4ͩ\CANCEL ADD LINE ON C4=R4+1. DELAY BEFORE C4=R4+2 IS #xxxxSET ADD LINE ON C4=C9=0. DELAY BRUN R2=50/R3=12/R4=38/R7=30R3=14 AFTER VSYNC, THEN R3=12 ON C4=R4/C9=R9-1/C0io=5ON NEXT VSYNC (C4=R7):xx,xxR3=15 AFTER VSYNC, THEN R3=12 ON C4=0/C9=0/C0io=5R3=15 ON C4=C9=0 C0io=5, THEN R3=12 ON C4=R7-1/C9=R9/C0io=56R3=15 ON C4=R4/C9=R9 (7), THEN R9=0/7 TO FORCE LAST LINE EVALR4=0/R9=0 ON C4=R4(38)/C9=R9(7).Y IF C4=0 ON 2ND LINE OF FRAME:xR4=0/R9=0 ON C4=R4(38)/C9=R9(7).Y IF C4=1 ON 3RD LINE OF FRAME:xR4=0/R9=0 ON C4=0/C9=0 (1ST LINE).Y IF C4=1 ON 2ND LINE OF FRAME:xR4=C4/R9=C9 ON C4=R4=4, THEN R4=EFORE C4=1 IS #xxxxͩ\!]!^nf"]nf"]]!8"]!;"]]w# ͘ Y2 q< \2<3<4<*<!^!`\ijIٯh!Au!^ uX^!^PuIIIIʀ͘ YI III!x#0IqIq^4ADDLINE RQ & R5IVM-ON ON LINE 0, THEN R5 0 >> 1, CPU TO C4=1/C9=0 IS #xxxx!n`"_!`"_!`"_>1!I`"_>2!`"_>32Ja:!_`!`\cj͘ SI!IiQY FI SIQqai FR9=0Y IF C4=0 ON 1ST LINE OF FRAME: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:x2VY͘@ I)  II; Xxsw##Y͘@ I  I; XxswY͘ I;  IXxswY͘@ Ii  ITrack-Info  RIaA SI FIn`͜`ͱ`Qqai  I0IFIaAIIII I II Iͳ +_QYQ%a$` $a%# SI II I FIQYQa` $a%# SIQq FIQYQa` $a%# SI!ƁIh/͠c!@h!aPu!AauICRTC 2 : ADDLINE STATUS VS IVM ON/OFFTEST NUM >2a2\b2c>q2a2b>I2b>Y2b2,b21b>2fb!ij"a!Kc"qiqx>Y8>N2gYaiIQ͎dDhI IIIDh͘ ! &Iqaqiqx>Y8>N2g͘ ! &IYiqx>Y8>N2HgØiII͘ II"< Xxqws,j,jIIςI!ij"j>O2#l>2]k><2k!l8!cj"j>E2#l2]k2k!l!!l!l!l!l !l!m!m:"j!j!Mk!kij͘ IyKL&TIQ IYIIqa Ia I I@ ͳ! jhf>?l~g>l!Tai!Jainf"jnb9>2a>2\b> >q2a2b>I2b>Y2b2,b21b>2fb!cj"a!ic"b!a!`\bcj͘ IIIIIqI ͦbqY ͦbYY>0 Iy ͦbI III II III! Ia Ii Iͳ a>Ky ( Iq>JQy!ƁIh/͠c!@h!cu!KcPu!cuICRTC 2 : ADD LINE BUG ON ODD PARITY, R4=1, R4=1, R4=1, R4=32ODD PARITY - IVM ON 1xC4=C9=0EVEN PARITY- IVM ON 1xCf">>>>>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!m#mʀ III3IIfIII( III3IIfIII!mƁh!4=C9=0 R6<=R4 >> PARITY SWITCH>!ͭc>!2c>dT] OO= !chII!Au͙gP!=eͣd͔g!eͣd!hRh!ed!hRh0!fd!hRh!ffd!hRhp!fdTiį2g!fu>i`> 2g!fui!+guiů2g!JguͮiP> 2g!JguʀI.IIIu!0hfd8>,#P !duu!h!dYN@z8{w##pP !duR9=7 R4=1>> UPD R9=1 WHEN C4=1,C9=1 FROM C0io=2C->3F (01 if C4/C9=0!m^{s# x |g#JLJLTTTTTTTTTT !m2q2 r2Gr>2eo2nͭo͘IIq>2m I!KL_RI!n!9o>^#V#= ! Ia Ii IIQi I!rr ~<( =yqai{ |(zyiپ#  I>0y IqYiͳ<2q(Hy2qO!p ~#fopO!>q ~#fopq*qfp8>g> 2Zno8:roIO>Gx!!G >2n(}2eo`p8>gp8p:rog8!oPu!" m_oooooooo_o_o_o_o_o_o_o_o IIIqqYiپ)R9=7 R4=1>> UPD R9=1+UPD R9=29 WHEN 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 Qi h!oYp!oPu!"puI&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!Auu>A͆p!puP W !pw###PqpPqq)q!Pq"p!p"p!Pq"p!p"p*q6!Pq"p!)q"p>I2ro!Pq"p!q"p>q2roPqTqPqvqPqqPqqPq!Pq"@q!eq"Bq!Grq!Pq"Bq!Tq"@q!Gr`!Pq"Dq!q"UPD:x (AFTER HSYNC)!A!"g!@"g! "g!0h*g#"g*g#"g͘ II@  II >yIIII XxwI&IIIDh#ςςς"{h!"fh!h@͘ ! &iq͋hh*fh#"fhIIaIIIaIiIQ aIIIaIIIQai xw#aiIQiYDhI IIIDh͘ ! &IqaiqiqiTrack-Info  R         Fq! rO!Pq"Fq!vq"Dq! r>!Pq"Hq!q"Jq!q-!Pq"Jq!q"Hq!q!Pq"Lq!q"Nq!Pq"Nq!q"Lq <:qx(qwq!"s!"s!@2't>1!>3!@>5!>72 t>O2tTtF!"s!"s> 2't!@>1!>3!@>5!>72 t>E2t"fsSsC?s!-ss2s>2qs>2Bs͘IIq>2Bs 6uI!KL  IIIIpaxh0000ppppppp`App`````a @H00@p000000000000Haxh00`00`0000 @000000@A000`A0p`FL@Dܜ̘ʀDn1pHT܉Ḧ@Dτ̌nHEϋDfdMϊDnMDn̈ܝL @ŀʊT̝̄FH EϊDdϊDd?*@nEGϊDJN܉??MLdϊ EG^̄̄ ̜̈GDG0dddd000000000000000000000`@00000000000000000000000000@``Ap0 H 0`000000000000@Adddd000000AA0`0@0000`H000000A000@00@````@πHHʀHʀʄAn̄^ EϊTb̘@ŎDnMʊDn̈ܝŀDHEώDʊH̝H^ EϋT̜ϋDd?*EGnDNNܝ?+EGHGDlGEḠ GT̈GDHGGD̀ @$01ϊ@G^ TȞܭ^+*D̜Ā+*̄d++*DNN+Dܝ+H01"+?D&+܈+?T^LĈGDGGHL^^^ ?TȈ?D d??Nj+D܉?+ ?DHf?+? ̙   9<3Px,    H    |B+B   Ā   <6Hp`    H}}q^^ p`     y.O~^$    % 0񤄄@<<@p`<<88@Hx<N=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 )!t"ft!t"ft!et͟tw I!۠͒tŠ ݞ$kt>ia=ͼ>?2u!z"u!~"1ut~!~!ͩ!nu u>@2u!"u!"1ut!~!ͩ!u u!u!u埯͇ ͔!oW͔>7zg`uW!ɞ!oW ͔!]~͔R0=7 - RVMB NO BORDER BYTE (CRTC 0)!J!t埯͇!@@8!H @8!P)@8~!~͔!oW͔!~x!ͩ!>ɞR0=3 / TEST DISPTMG SKEW VERSUS BORDER / 3RD VERTICAL ZONE: NO SKEW / YELLOW = BORDER ONLYAw#|g0?&x0?&x?&x0JDKSL]RUMFK1=63)R8 STORIES 2 (R0=63 / R1=64)(REP DISP BUT SAME OPE. R8 STORIES 1)??(&0JDK:!ú~wIwIIxIIIIIxI I$I8!qIQAai( ֠Qq<Aai( ڠqQqq< I(IA(  Qqq#IIIqq>?y I@II>IIIIq IqII!@4ݞ u:!w~wI}II~IIIIII I@It!qIQA| Qq_GWYNEiqӂ-]Ã%SKyۅ<<<<: >22h2!>2^F<<<<: >22!>2^>2h!<<<<: >22h2!>2^:Ox2!ـ  ~#fo>"V!ـ 6#!!RͱI>ywIIIII III>q,!'qIai!  IqqY>7aqqQaiqY=(>IyIq>*y>yq> y>yq>?y IqI>?yTQYQ>KyII IIIAiqiqiqiqiq Qqq>7y! aiqI?נI I I[I>I IIIIIq IqII><2x:cw 2cwݞ"w>2x2x2&y>2[>2K}>2x2x2&y> 2[> 2K}!z> !!|2}>xx[!12: !{F2}7!!}!z!}> !z> !2}>xx[!12!|:> > n!z> !2}>: !{>2}!|!01!z> !2}>: !{>2}!|!0:> > "z2Kz2y02}>12}"|!32"v}z2y{2yx2+zy2iz"}>*2|!yIqIILQYFQYݞ$b!j埯͇!>w,>w,w,> w,w,>w,w,>pw,!B6,C6,.|g0!tw|g0!B6,C63,.|g0{!w|g0!~!ͩ!n6#!͔!͔!EJLFRUKTMx8PXP4CRTC x / C0=0=Red+Magenta/C0=1=Grey/C0=2=Green/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 >>>>>>>>>>>>>*****m|wIxIIyIIII II !@͸II IQ IYp!qIQi( aq!IQaIq>?y[QY 0IQ IY III?IǠII IIIq IQ IYIIͰzݞ-Çy><2z!  "zSz|22 }2!! . "zSz"!  "zSz"IaiQQ&a,,,,i%ai$Q>>2{02}>32}!16"v}!}"|!12"}2}2|!e{m|wIxIIyI*** 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=0.1.0.1R6D R0=1 OUT R13 >>>>>>>>>>>>>>>******** 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=IIIIIp!qIQi( IIQԠaq#IQaIq>?ynQY 0IQ IYI?IƠIIIq IQ IY>2bz!@!~w##z@ Ϳ}!|6͔! }͔!a}͔!}͔!oW͔****xx** ****xx** ****xx**R0=3 / TEST FOR CRT 2 (NOT EXCLUSIVE :-)) / YELLOW = BORDER ONLY / C9=R9 NOT IN HSYNCCYAN COLOR >> C9=0 - 16 RUPT / Track-Info  R0 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!Yͫw͕,ITJY IQ͕TKY IQݞd.>y   yɯ͇!JQY!+͔!P|! !|0!y͔!>0|n= ! ɎTKTTL>r#ns#qn= LINES MODE 2,0,2,... [BORDER/INK 0] / BLACK RECT. [INK 0/INK 1] RED:L. MODE 0LINES MUUUU!I!D!?!:!5!0!+!&!!!!!! !!!"?}2\2ԑ|\2ޑ>2>S2->2!="ؓ!|2}2:828>2!bZ*b"!/2w!I.& .>>Pay IaiiY IQ= I!Ps#r+nP Hs|g{2I>< 2> 2O!, ݞ璇O! ~#foͤͷ2Ӓ2?x2LŒ2:gW!V͔:gW!`͔o5KS۠ƠKEY 1<>2=INC DATA IN RAM / KEY 5<>6:PTR DATA / KEY 7<>8=INC PEN (COLOR SWAPODE 2,0,2,... [BORDER/INK 1] / BLACK RECT. [INK 1/INK 0] RED:L. MODE 0!"!"_!"B>2E>2H2Z>-2Q%!"!"_!JT"B>i2E>2H>,2Z2Q!wIT>yQYq  !JTiI(( =y,̠ I!KaiI͍ݞJKLM><2> 2_ !sn!!"_wIT>yxq  !JTI(;( =y=̠ IIݞ&TKQYQY I͇͚!Ǟ!͔!b@͔!͔!‰͔!͔!oW͔:>8>2S)DATA=#xx / PEN=#KEY 3/4:DATA--/++ , SHIFT:1ST BYTE OK=0/255 ,CTRL=HS ON/OFFMODE x TO MODE y02!."!"!."!"!4!"Ԡ>52͹>42͹!."!."!."! "!?><2@!ZO "&$(!."!x"!."!j":-y:<2yO!? ~2-.. .j.:o>(>:O>+(>:( ::@: 0"0$: 0#0%: 0$0&: 0%>0>Ƞ>ˠ>Ҡ>ՠ>ܠ>ߠ>!T>Xȓ!5͔!͔!ϑ͔!PÔ!UD>ȓ!P@͔!͔!ɔÔPLIT 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 27!w.Eڊݞ&QܠY (ΠѠ% ɯ͇!!j͔+x‹`W͋aW !͔P!P>xw# n= !oW͔!Ћ0͔MODE UPDATE (2 TO 0) B!T>Dȓ!`͔!z͔!͔! ͔!"͔!>͔!Ô2ޓ|2?}2㓯͇!=>U!@>~,˭>n !Ǟ!͔!bP͔!oWÔKDJSL]WUMF^_GRYNETESTS : R2 UPDATE / R3 LENGHT FOR MODISATION / R3=0 SETTING (ON 3RD ZONE)OUT R2,#09 ON C0=7.8.9.A (CRTC C0=SCREEN C0-1)YELLOW COLOR ONLY IN MODE 2 / INK 10=#5F<->#5AKTKKKKKKKKKKKKKKK>!11!>!12>!13>!14 !15>!16>"̕2\!?uwI>X. Q&aܠYՠ= ݞ!͔EFORE 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> !B2ux2|2}2!="ؓ!Y^w!I.& .>>(ay IaiiY IQ= <>(ay IaiiY IQ=(>(ay IaiY IQ=  I><2 2: S2>_yݞ_x!>0h!>1x>3! X=!>22~(>2!h!P͔R2 UPDATE DURING HSYNCR2=#0B / R3=10 / ON C0=#0D0E0F10, OUT R2,#xx (+ R2=#2E ON C0=#23)I I!4埯͇!͔!b@͔!`͔!b͔!P͔!Ǟ!oWÔJKT>>>> >>>2w02!dͦwI ! >X. QIia I Yݠ= ݞj!͔!Ӗ͔R3 UPDATE DURING HSYNCR2=#0B / R3=10 / ON C0=#0D0E0F10, OUT R3,#0x (+ R2=#2E ON C0=#2A)!!uڛ!2!k͂!S?͡!>͔~<P #= S!͔!k2!g~#w#!́w!I. & .>>ay IaiiY IQ= >ay IaiiY IQ=(͸!>!ayyA.iiY!> G>2SO!X ~2#~2!X ~#fo,#!͔:jgQW!͔!͔!2[!P" fW#!ؙÔPREV R9=7 >> UPD R9=1 WHEN C9=3>>C9=0 (OK FOR CRT 3+4 ONLY):PREV R9=7 R4=38 >> 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@00@`0 AH@@@@@@`x<xiA@@`H@@@@@@@> 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 Ovf)PREV R9=7 R4=1 >> UPD R4=0 WHEN C4=1 & C9=7 (UPD FROM C0vsio)(01:C4=0 00:C4 ovf)!埯͇!#͔!oWÔJKTRESULT OF CRT-R4 & R9 CHECKw II*I(QY QY9Xxw    8(bbbbbb<    @96cA63h          Hp4}h    <669   ff H fM DL Ppppp \d̄" LH \L̨QD̘l̈Q@H Q0000 QdQ@d̈QĎ܈P ̈P@H P(@222"Pn̈PD3 PDl$$̜̈Px33̘PD J<(@2222"Px ?@PxDd1333"@̈PxDll+@+DdL ?@+DNNNN +Ā ?d+Ԁ ?HĀ+&L̈P D̀P DbL P P /ȄP Dl܈P ĎP@ddPD/ P000 PlĀP  PD$$̈Px 3xĈPxD@ 111 Px ?xL̈PxDH3 ̀PxDLȀ<(x<̨Px<xx̙33333333"A2MI!@>!Í!MI4`= VERTICAL SUBPIXEL SCROLL BASED ON UNICORN PRINCIPLE (1/64) A01?0.&&0!fI˛2|JIIt>2VqQÉQ!ai!ai!ai! ai! ai!ai!!ͨ"!4QCBɯt!\BṔ! Ŕ! 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 TWICE                                      !!J!L>28~(^!Do"I#F#I~#!Iv>0!Iv!>28!I"9+!I"9#t#!\B́!J ́!P"!J~5JIJ!JͰ!x":|Jš!J2́šJ > #JF#fD#JfD~(g><2|J> JD##SHAKER KILLER (CRTC/GA/Z80A)xx xx xx xx:#xx>WRONG (Exp #xx)!VERY BAD TRIP!ݎJ>9FFS/'5++Vxp64p642L                                                                !^U%!fU !nU!vU!~U!U !U!U :>&2T>2T>2T2TTTT[U!T˛Uͤ!.?!HqIaqY-( qQ!ai!ai!ai!!PNG>(x2Tͨ!ÕTt!\B́!+Ú!Ps|g0I>_yCRT000 / R0=0 ON C0=0 (R4=38, C4=10)/ (R9=7, C9=x)0(@1h23CL"L"L W_4NDˆˇob!L˛TqII?It!\B́!Ĺ!"8Vͤ!vv!bL"9>28 !!vL!"8ͨx0JSKUMF^_GWELCOME IN OTIR ZONE (FOR FUN)!L˛V>28IIt>2!CN2NM>M>2NM!CN!\B́!M ́!"2MP! NM!NM!"2M!-NMš2NͯŃP>nf M@n~?g M@nfM@ѷR>(> 2N!ḾP = 4(@5h67!U˛:8 !)"U>2pVVͤ*!!d!.͚YYNO!V ~#foV!8YcWDW:-VgD:U02W:U02W!W@́Z"$V22V!]K>22V}2-VFYQqIy>< 2LV> 2WVO!}V !"ͨ&!úUKTtI!KFa> Ii= e!\B́! Ź!qẂ!ẂVVVVV&WVFWV!V"V!V"V!U3!V"V!V"V!U"!V"V! W"V!U!V"V!V"V!U><2Ww!V"V!6W"V0!V"V!&W"V !V"V!VW"V!V"V!FW"V:U2UR3JIT/INTERACTIR52 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)             ͤ!!Nvvvvvvvvvvvvvvvvvvvv>0!N^V!!Nut !O˛:82O>I.P!@PSOZP!~P>qSOt!\B́! P ́!PṔ!FṔšIKO>28!O"9ͤKv!Ov"9ITrack-Info  RVE 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>!Y%>!fZ>!Z >!Z!Y2.>I2 Z>>!Y%>!fZ>!Z >!Z!Y2X>C2 Z"XSmYCY"X>2 Y2X!X˛:8: ZC!*> +>2+Y"XMYͤ*!!d!.͚Y*X8YN!Z2YZ"X2X!>2X} h"X^8Y*XZ@!Zś;_:X(Gx2Xͨ3!ôXPCYCYs|g0 ɯtI!KFa Iie!\B́!Ý!QZ@́! 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!*b˛2Bb<2LbbIKLͤ><2Bb )ˈCLb! "b!B"b02c:Lb?gcD!ć+! I II!!QIY!I I0IͨN!cO ~w2Eb'!Abt!ć!c!\B́́>A)c!6ćP W !6cw###> BIT 0..7R3JIT. R2=R3=14 / R3=1 ON C0io=15R3JIT. R2=R3=14 / R3=2 ON C0io=16KEY COPY/CTRL >> PTR++=>#C1AA @:O>#(>!Z!Z:>#(>!Z!Z!]"`[!]"S\>!w2^go==G!]"`[!b]"S\!81V" "h[x2\#"d\"l\`\s#r!O[˛ O!S B"[g]D>28w\I!]>I_4x25<>R5 SHAKER : MAGIC COCKTAIL / KEY 1 TO 8 TO MODIFY SCANNER SPEEDUPDATE R5 FROM 0 TO 1 ON C0=#00, C9=0?:!d˛Jdͤ!'f! I(IIIq2! Iqͨ!dt!jd́!|dṔ!d́CRTC 1 IDENTIFIERIF THIS LINE IS REPEATED BELOW, YOUR CRTC 1 IS 1-ABUT IF YOU CAN READ THIS, YOUR CRTC 1 IS 1-B !!!d˛KeIͤ!)e)e)e)e)e)e)e)e0I>024e>D2*eͨK!d>Dy<2*e>0 Iy˷24e!ɯI&It!pebI@IP!CRTC 1 R5DOFF TEY!ͤS !.u#= I>y!]<Po-&@~2\Fxo~2\xo~2\!\́P #= I>ny!NX]@!\Ṕ!E]́>02M]I!NX]@!E]́!b]́Vš!h\"9!`\"9[RcB!\B́!\́DELAY BETWEEN HSYNC (C0=R2) AND INTERRUPTION (IM1)WHEN R3=0E, INTERRUPT OCCURS #xx uSEC AFTER C0=R2 (#FF=NO INT)VSYNC 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 INTEST >2e!'f>A!'f!>B>02e!>C'f!'f>DSe"f2_f!e˛4fͤ!! II IIIIq IIͨ! I0I'f'!eIIqɯI&It!OfbP!RFD CRTC 1 TEST A!j"?g! "g>V2i>2j!j"g! "?g>P2i2j>&!>2j>+!@2gy2gx2j02i"/hSg!f˛2h!"'g>02g>Q2j=hͤ II!II&I!I!KL_R!0 Ia IiQi I!Cj@ ~<( =yai {?|(zyiq#~#<(= QyI RRUPTION IS xx uSEC (RST#38=4 uSEC)DELAY OF INTERRUPTION CALL (IM2) IS xx uSEC>2^!w` 2^!a>2^>y2_$!2a>2^>2^>q2_>!Sa2^2^>q2_>2v_"G`!.^˛*"^_!__!J^͠^>=(.:v_=2v_ Ϳt*G`́!á!\B́š!__`:v_gD!`́!"ͤIIIIIIIIIm! II IIIII@I5!? >qqQAayQqqYayqiIqI>K>E&DyQ(>yIIqI>+yIYi Y I>0y IqYiͨ;_2&j(Hy2j͙O!i ~#foqiNO!_i ~#foqi'jj*'g|0g"'g>2g*jfhD>g>@2^ghD*'gh@*=ifhDY!h"́!!ft!dhb!hṔ!h́I&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 / ClrFlag:x APri iriKiUi!ri"i!.i"i!ri"i! i"i!Fj>02@iw>*jw>*=iwriviriiriiriiri!ri"ai!i"IqI?II yʚ&2!Xxw!b›Xxã^:o>(>!b›!bҜt!@Y`!4@Y`! @Y` 0z!I!t!>͔!`́!\B́!`́!i`́!w`́!sáAw#|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 POSTEST R02 : R0=0 WHEN R4<>0, R9=0TEST R03 : R0=0 WHEN R4=0, R9<>0TEST R04 : R0=0 WHEN R4=0, R9=0NOTE : EXCEPTTrack-Info  Rcip!ri"ci!vi"aib!ri"ei!i"gi+#^!ri"gi!i"ei+#M!ri"ii!i"ki<I!ri"ki!i"ii<9!ri"mi!i"oi<6!ri"oi!i"mi<&:g02g:&jz({2g:&jx(<2*j!Ej~w:h?2hO2*jG!Cj "j#"=iIQY!"ml > 2=l!m"l! "k>23l:з >2l>2bl>2l>2Vl2l2k!Co"m[>2l>2bl>2l2Vl<<2l:>!m "m > 2=l>:m!l@23l"lSk`il >2k!n"m02"n!SHAKE22BBIN@bB@b33333333v3333ff>|~L2~0123456789ABCDEF 0<3? ( ĐДԁ ( "*ç@I!@@II!@@I!m@.1͛@B*| 2!zBAĞ!"!!,CFA!yNA! CNA!JCFA!&CNA!BFA!CNA!DCNA!CVA!r~A!pVA!BVA!U^A!F^A!F~A!F~A!BV!'"!d" *#"*+"w' IIƠId9Xxwp#!"!d" *#"*+"wIIƠ&Id[7Xxwp#!"g!Р"w!V*g#"g*w#"wwII IIР>yI$III7XxwI&IIIp#wIIIII$III7Xx<(=2j!"B!d"i *B#"B*i+"iwIIIII$IIId_7Xx<(=A!CvA^!BA!B^AV!cAf!AF!|BAf!BA~!bAN!BA!zB ~A@@"ASA!"!zB~_#V@#"AAկcB>0Y{202aB!\Bv0!gFv!Fv!\C>vP #= CRTC x!圯i!sBǜTKTULFFGGxeeeeduffqffhffUff7XDXQX^XWXXX]]]^PPPPPPPPQPP+T0T5T:T?TDTITNT`IL[ZN Lp͋tHfkjoZކttttttuu u uuS{{{{|$|8|L|CPC SHAKER 2.2 MODULE B / LONGSHOT. wI&IIIp#>$;w&;w2ޝz2{2wII@$IQY7Xx!"!"!":_>2>22{(2Ȁ>2*#"2A!"!"!"ݞcx8x0cccKyٷ'@ͮ !~P!Kyٷ'@ͮ (Bs##|g ա: !+|"!.ps+1m@*"!.^1?(.&0!N(<(!KÔOKxKOxWe@|O |O |g}Po|gO6LOGON SYSTEM(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(E) CRTC 3/4 STATUS(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 INTERACT0~ 0`||8~f<0 0`0 ~~`0 0`fff~fff~~ xflxlf```bf8ll8ff|``8lvff|lf< <$0 x |v`|fffff>|`lvff8<ff<`flxl8 CRTC CAR DISPLAY!! REF C0=0 DEFINED FROM THE MICROSEC WHEN CRTC VSYNC SET PPI.PORTB.0=1 !!:CO>E(>O2C!CPv``:u2ugC9!CPv>2!08>2!16>*!32>*!642tHG>?2G2G>.2G2G>2G2Gy2G"II:8 !"G>2H!VG*H:tH_R"H2xH2`H>2G!"GH͙lfffffff<ll8lfff>|~L2~`|~L2~`< <$0 x |v`|fffff>|`lvff8<ff<`flxl8.ݝݝyIIII I*G|0y Ii(III>yIq>?2xH?:G = zO2G*G0 Z˜"G>2`H:xHgOI9!OIv͝}Gd!RI圯iII!KTa Ii>A2MI!@>!Iv!MI4`= VERTICAL SUBPIXEL SCROLL BASED ON UNICORN PRINCIPLE (1/64) A01?0.&&0!fI2|JIIi>2VqQÉQݝ!ai!ai!ai! ai! ai!ai!!͝"4QCBɯi!\BPv! Rv! 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 TWICE                                      !J!L>28~(^!Do"I#F#I~#!Iv>0!Iv>28!I"9+!I"9#t#!\Bv!J v!P"!J~5JIJ!Jͤ!x":|Jڶ!J2vöJ > #JF#f9#Jf9~(g><2|J> J9##SHAKER KILLER (CRTC/GA/Z80A)xx xx xx xx:#xx>WRONG (Exp #xx)!VERY BAD TRIP!ݎJ>9FFS/'5++Vxp64p642L                                                                !^U%!fU !nU!vU!~U!U !U!U :>&2T>2T>2T2TTTT[U!TU͙.?!HqIaqY-(qQ!ai!ai!ai!PBG>(x2T͝ÕTi!\Bv!+Uv!Ps|g0I>_yCRT000 / R0=0 ON C0=0 (R4=38, C4=10)/ (R9=7, C9=x)0(@1h23CL"L"L W_4NDˆˇob!LTqII?Ii!\Bv!Lv!"8V͙vv!bL"9>28 !vL!"8͝x0JSKUMF^_GWELCOME IN OTIR ZONE (FOR FUN)!LV>28IIi>2!CN2NM>M>2NM!CN!\Bv!M v!"2MP! NM!NM!"2M!-NMö2NͯNvP>nf M5n~?g M5nfM5ѷR>(> 2N!MvP = 4(@5h67!U:8 !)"U>2pVV͙*!d!.͚YYBO!V ~#foV!8YcW9W:-Vg9:U02W:U02W!W@vZ"$V22V!]K>22V}2-VFYQqIy>< 2LV> 2WVO!}V !"͝&úUKTiI!KFa> Ii= Z!\Bv! Zv!qWv!WvVVVVV&WVFWV!V"V!V"V!U3!V"V!V"V!U"!V"V! W"V!U!V"V!V"V!U><2Ww!V"V!6W"V0!V"V!&W"V !V"V!VW"V!V"V!FW"V:U2UR3JIT/INTERACTIR52 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)             ͙!Nvvvvvvvvvvvvvvvvvvvv>0!N^V!Nut !O:82O>I.P!@PSOZP!~P>qSOi!\Bv! P v!PPv!FPvöIKO>28!O"9͙Kv!Ov"9IVE 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>!  Y%>! fZ>!Z >!Z!Y2.>I2 Z>>!  Y%>! fZ>!Z >!Z!Y2X>C2 Z"XSmYCY"X>2 Y2X!X:8: ZC!*> +>2+Y"XMY͙*!d!. ͚Y*X8YB!Z2YZ"X2X!>2X} h"X^8Y *XZ5!ZsvͲ_:X(Gx2X͝3ôXPCYCYs|g0 ɯiI!KFa IiZ!\Bv!Yv!QZ@v!Iq"O=e9!5I?IIII.ITII &IqI IPI!6#w#]T q6#Os#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)!!&! !  }02R!S"SS TR 210! Sx2RyRR!Q> BIT 0..7R3JIT. R2=R3=14 / R3=1 ON C0io=15R3JIT. R2=R3=14 / R3=2 ON C0io=16KEY COPY/CTRL >> PTR++=>#C1AA @:O>#(>!Z!Z:>#(>!Z!Z!]"`[!]"S\>!w2^go==G!]"`[!b]"S\!81V""h[x2\#"d\"l\`\s#r!O[O!S B"[g]9>28w\I!]>I_AKER : MAGIC COCKTAIL / KEY 1 TO 8 TO MODIFY SCANNER SPEEDUPDATE R5 FROM 0 TO 1 ON C0=#00, C9=0?:!c>d͙f I(IIIq2 Iq͝ci!^dv!pdPv!dvCRTC 1 IDENTIFIERIF THIS LINE IS REPEATED BELOW, YOUR CRTC 1 IS 1-ABUT IF YOU CAN READ THIS, YOUR CRTC 1 IS 1-B !!!d?eI͙eeeeeeee0I>02(e>D2e͝Kd>Dy<2e>0 Iy˷2(eɯI&Ii!debI@IPCRTC 1 R5DOFF TEST >2e!fY͙S .u#= I>y!]<Po-&@~2\Fxo~2\xo~2\!\vP #= I>nyCX]5!\Pv!E]v>02M]ICX]5!E]v!b]vVö!h\"9!`\"9[RcB!\Bv!\vDELAY BETWEEN HSYNC (C0=R2) AND INTERRUPTION (IM1)WHEN R3=0E, INTERRUPT OCCURS #xx uSEC AFTER C0=R2 (#FF=NO INT)VSYNC 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 INTE>A!f!>B>02e!>Cf!f>DSe"f2Sf!e(f͙ II IIIIq II͝ I0If'þeIIqɯI&Ii!CfbPRFD CRTC 1 TEST A!j"3g!"g>V2i>2j!j"g!"3g>P2i2j>&!>2j>+!@2fy2gx2j02i"#hSg!f2g!"g>02g>Q2j1h͙ IIII&II!KL_R!0 Ia IiQiI!7j@ ~<( =yai {?|(zyiq#~#<(= QyI Yi RRUPTION IS xx uSEC (RST#38=4 uSEC)DELAY OF INTERRUPTION CALL (IM2) IS xx uSEC>2^!k` 2^!a>2^>y2_$!&a>2^>2^>q2_>!Ga2^2^>q2_>2v_";`!.^*"^_!__!J^͠^>=(.:v_=2v_ ʹi*;`v!av!\Bvö!__`:v_g9!`v!"͙IIIIIIIIIm II IIIII@I5!? >qqQAayQqqYayqiIqI>K>E&DyQ(>yIIqI>+yI?k˛,mͤII!IIIIII !II>yq,!+qIai IaqY!@ >6qQFNY=(  ,I>yq>Ry>y=yQY IqyQI?Y> y>yqYQYQYIKQY!Iq II0 IQ IYIq! II!IILQY:k  >2k>2l=(2k>2l>2l>2kt!\B́!ń!ań:!n(!II y;82Xxw!a÷Xxã^:o>(>!aͷ!bǜi!@M`!4@M`! @M` 0z!>!i!>͉!`v!\Bv!`v!]`v!k`v!gavAw#|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 POSTEST 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ń!@t!o›!oҜ: :k(?!>m!>m!>m>2kmmmmT].w,w,! n!~#w$% >2k 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,0,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)/WHITE RASTER, ONLY ONE EXTRA INK EACH 2KB BLOCKUNABLE TO FIX : PRB NOT ISSUED FROM C4/C9 / OTHER PROBLEM TO IDENTIFY?&x0JDKSL]RUMFK_GWYNE!b26b<2@bbIKL͙><26b )ˈC@b! "b!B"b02c:@b?gc9!cv+ I IIQIYI I0I͝B!cO ~w29b'5bi!cv!{c!\Bvv>Ac!*cvP W !*cw###R5 SHTrack-Info  RSHAKE22CBIN@EB@E|00|006ffff>fff<ll8lfff>|~L2~0123456789ABCDEF 0<3? ( ĐДԁ ( "*ç@I!@@II!@@I!m@.1͛@͇A*| 2!AdA͙!"!ɂ!mF_A!ANdA!{N_A!DBFdA!|N_A!"BFdA!cN_A! BFdA!BNdA!BVdA!LV_A!D^_A!A ~dA@@"rASlA!"!A~_#V@#"rAxxxx (#0020 exp):> 2qJ!JJ>! ! ̈́J>'! !M̈́J>&! !1̈́J>'! !ḮJ>! ! ̈́J>'! !̈́J2qJ!KJ>&! !̈́JR5=x/R8=x,R9=x ON LAST LINE/ CPU TO C4=#xx:#xxxx (#xxxx exp) (UPD R7 IN HSYNC)}028Jy02=J{02BJg]J̈́_!![͵ilQYQYQYQYe#x0aJ̀NLhJ̀!5J"YeY:зNLl!aiQYQI I y( gygx0K̈́2KNL!nK"!!!"K> R8=0/R5=1/R9=6 ON kAկA>0ͤ{202A͖!A0!D!hD!B>P #= CRTC x!r0ʹ!ATKTULqqr r5r?rIrSr"rPP3^I^S^````T]FYiijj jjjjiijj jjjjyJzssssuuvvtwwwwwwzJzssssuuvvtwwwwwwCPC SHAKER 2.2 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 : IVM ON/OFF(5) CRTC 0.2 : PARITY CHECK SELECT(6) CRTC 2 : C9.IVM SWITCH(7) CRTC LAST LINE. C4=#xx (exp #26) NOT FOUND:NLl!aiQYQI I y(Xygx07L̈́2CLNL! L"!!!"7L> R5=1 ON LAST LINE-1/R9=6 ON LAST LINE. C4=#xx (exp #26) NOT FOUNDIqIqII III&IÐg!LA!L͝LfN4OsOOSPʹ!P!AR5 ON LAST LINE. IF C4=#FF >> EMULATOR VBT!ON C4=R4=#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 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) ADD LINE R5 ON LAST LINE(P) ADD LINE R8(CAPS)(F0) (R) (U) (I) (T) (S) (CTRL) (0) (DEL) RUN ALL TEST (4 SEC EACH) / Z80A SYNC ON CRTC CNT <> CRTC CAR DISPLAY!! REF C0=0 DEFINED FROM THE MICROSEC WHEN CRTC VSYNC SET PPI.PORTB.0=1 !!!EA!6E͝LEFE̓FG͙G=HH͑IKͦKIIR8 ON LAST LINE:>!YE!'>2E02EÈ![͵ilIExpected) 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):!"N!G"O>2NͯN!"N!e"O>.2NͯN!"N!h"O><2NͯNNM̈́*N#"N*O#"O&L̈́!L"!N4!/OOlIII~#<(=Gygx0O&IqIIÐg&':lIII'lIx>Y8>N2HMO!M":>& ͒OIII!#x0ÈNL!E"R8=3 ON LAST LINE/ CPU TO C4=0:#xxxx (#xxxx expected):![͵ilIQ!6IIIIYIq#x0mF̀NL!;F"R5=3/ON 2ND ADD LINE,R5=1,R8=3/ CPU TO NEW FRAME:#xxxx (#0084 expected):![͵il!IIqIq#x0F̀NL!F"CANCEL IVM ON LAST LINE/ CPU TO C4=0:#xxxx (#0004 expected):![͵il!IIIqII^qg#x0G̀NL![G"R5=1/R8=3, R8=0 ON 1ST R5 LINE/ CPU T>&͒O>&͒O>&12O02]M}M|2Ö́lIIIq&$x0xM|> >2M̈́O!JM"!MMP: !  !8!Ǹ! NMPlIQ!6YIq#x0̀O":!8!WǸ!PNNsPlIQ!63YIq#x0̀O"!PAuQFR!PAuQ!cQ!I"3V>V>V!"3V>V>V!kQTV!mQ̓V!oQͬVVGW͆W!T!FWT]W!U!3FWW>!2U!3T]W>!qQX#X!sQ>!3qX#goqXX͌Qʹ!AO C4=0:#xxxx (#0004 exp):![͵il!IIIqII^3qg#x0,H̀NL!G"R5=1/R8=3, R8=0 ON 2ND LINE AFTER LAST LINE/ CPU TO C4=0:#xxxx (#0B1C exp):![͵il!IIIqII^3qg#x0H̀NL!H"R5=1/R8=3, R5=0 ON 2ND LINE AFTER LAST LINE/ CPU TO C4=0:#xxxx (#0004 exp):![͵il!IIIqII'a3qQY#x0ÌNL!AI"R5=1/R8=3, R8=0,R4++ ON 2ND LINE AFTER LAST LINE/ CPU TO C4=0:#Track-Info  R!R5!cQ>-2S>12S>4P̓R>5̓R! "S>4̓R>50̓R!:S͉Rp!lS͉R!S͉R!S!(T!iTP!T!T!TD!U!4U>12sU:qQ2U!4U>02sU:rQ2U05:sQ2U>22U=2U!UP:tQ2U>12U=2U!U!U2R!Rf4S̈́f7S̈́P S##GHOST VSYNC VS LASTLINE - ON RUN R2=50/R3=12/R4=38/R7=30R3=14 AFTER VSYNC, THEN R3=12 ON C4=R4/C9=R9-1/C0io=5ON NEXT VSYNC (C4=R7):xx,xxR3=15 AFTER VSYNC, THEN R3=12 ON C4=0/C9=0/C0io=5R3=15 ON C4=C9=0 C0iJTL_R??&&0:!o˛:>(02opͤIIIIII!II>yqX!AqI IQai! )>y>6 qQa-iqY=(>Iyaq%aqy=yIy&yYqY?YyYIYQYIKQYQY!Iq0 IQ IY!!IILQYͨ|$!øoWm:!p˛ͤIx!rw#xw#xw#>w#xw# @qII xw?qIt!\B́! C"9r>02DrIr:rgD!rṔ>12DrIr:rT]!w?~#ͮ~ɟ# &o))) ~#zW@W &o))) ~#{P_>W~(y#~Iy#~Iy# stI YI QI YI QI YI QI YI QI YI QI YI QI YIQ1!Mx0x8x0x8x8MM!{OB:::zYIH IPH{x Ox (   !  x0x8x0x8"!Mx0gD!ŕ>22DrIr:rgD!ŕ!FF"9r>12Dr2erIr:rgD!r@́>32pr>82rr:rgD!Lŕ>42pr>92r>22err:rgD!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 >>#xx!r˛*"r>2s!ss!rs> -:s=2s( g~tDͿt!\B!tÍš!sst:sgD!"sͤQYYII! 0IQ IY !I IqQYqV! 0aQiY ( x8x0x8x8MMx8!M[R*+"* > !PIXIqI? CIB= Iqllllllll>X<|0f8l8vv0 000 0 0f<f<0 0`0 ~~`0 0`fff~fff~~ xflxlf```bf8ll8ff|``8lvff|lf< <$0 x |v`|fffff>|`lvff8<ff<`flxl8<lfffffff<ll8lfff>|~L2~``|~L2~`g>gݐ!ͤ>227!! > 27:C2?E!vv("#: > 27:C2?E!.w5w("#͗!fBͤ!#ͤ!P"ސǞ!!+͸ݐݐ!ͤ'ݐͤ,ݐͤ2ݐͤ8ݐͤ2Jgg!yݐͤ:=(=(>2u222a>622!60>I2!IIII(ݐͤ!61>q!IIII(ݐͤ!62>q!IqII(ݐͤ!63>q!qqII(ݐͤ!64>q!qqIq(ݐͤ>q2!IqII(!Bݐͤ!ͤ2n|2}2z2{2"IIIqDDǞII III: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:x2&V/Y@lI) l I7I:;lXxsw##/Y@lI l I;lXxsw/YlI;l IXxsw/Y@lIi l IqIE;lI IXxsw##/Yl IqIqI>U3yx>Y8>N2&TI III&I/Yl IqIqI>U33yx>Y8>Track-Info  RIIIqI !IqIͨ+ !Xxw!t›Xxs>t!t!tҜ!t tPw# 0w# !$> >>>>> >> > 26u!*u˛{2u02qx>O!:w ^#V#Su^#V#Su~2ex#~2x!u"u!&"u͒wvx!,wP!P!I>P!w#!!v^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/;!unw!qw>0!vnw!qw> !0vqw!nw>!Nvqw!nw>"wS,w24wx2Mw"]w!v>R2urw͘I 6uIIq I2u IIIIq II I5u=uͳ0 wɯh͑u!Aͤ͞&IQ IY !]I IIII!q^I IITI!*u[u"v!u#x0))))|N8 } [u!NRhv:uNRhv:uWSu!\v"u!LKvB"]vxDexDou!ͨÄu<T͙v͙v۝II۝ :CE!xv(>O!v2x"ju: :C!wE(>O!w2x"ju!yҜt!\B́!x́!Nx́!x́!x́!x0́x INTERLACE VM TESTS - C4/C9 COUNTING 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 CRTC۝ !yҜIt]y! y!2y1y s#{ _[>!>y>!2Jy>dT] [[= >2zy!uy!zy4|g0><@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 )!t"ft!t"ft!et͟tw I!۠͒tŠ ݞ$kt>ia=ͼ>?2u!z"u!~"1ut~!~!ͩ!nu u>@2u!"u!"1ut!~!ͩ!u u!u!u埯͇ ͔!oW͔>7zg`uW!%!ZzsXz6I#= ITIͨj/!zQIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII!z˛: >2z{ͤIIIIII!II>yqO!AqI IQai! )>yqQa-iqY=(>y>=Iy=yy>yI> y>yQYIKQYQ1=63)R8 STORIES 2 (R0=63 / R1=64)(REP DISP BUT SAME OPE. R8 STORIES 1)??(&0JDK:!ú~wIwIIxIIIIIxI I$I8!qIQAai( ֠Qq<Aai( ڠqQqq< I(IA(  Qqq#IIIqq>?y I@II>IIIIq IqII!@4ݞ u:!w~wI}II~IIIIII I@It!qIQA| QqN2gT/Yl IqIqI>Uyx>Y8>N2T-W"WSW2W/Yll! aiiiqaqI>FWFWayx>Y8>Nw-W2MX/YlP! iqaqQUYIolIx>Y8>NwI.II-W2X"Xx2X/Yl2 ! iqaqQ]QQYIQYTIIx>Y8>Nw-W/YxlII!  GiaIQaYa>2yYbqx>Y8>N2V-WI2II IÐg!LYA![͵iI II!"[!<"[ʹ!Zqai I I>2s>(x2qs@ =uͳa& Ash!sYp!tPu!'tuI&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!!)͘IIq>2BsM !u2u!5u>0!v2u!5u> !0v5u!2u>!Nv5u!2u>"^uSt2tx2u"!u!tDu͘I 6uIIq I2u IIIIq II I5u=uͳ0 t  ɯh͑u!Au!uu!Pu!kvu̓u!uƁI&Track-Info  R![@!9[!o[zLͮ[-(O<(+![s*[#"[*[+"[ x ![:yZ![yZ!Z\!r\!\\!P]fTZ̈́fWZ̈́fZZ̈́fjZ̈́!>ZIIIVM OFF BEFORE C4=R4 :xx,xx,xx / ON C4=R4+1:xx (00=OVF C4)"Z!2"[!<"[[-(O<(+![s*[#"[*[+"[ x CRTC 2 ADD LINE TRIGGER (+)=AddLine (-)=No AddLine (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=Rp!ed͠hį2hf!Gf͊h`> 2hf!GfFi!wfiů2f!fhP> 2f!fI.III!|gfHd̈́>,#P !Hd!Jh!HdYN@z8{w##pP !HdR9=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 WHEN 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/4/C9=4/C0io=58d TO C4=0/C9=2/C0io=57 (!!) lY33FR9=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!"0g!@" g!U"3g!|g* g#" g*3g#"3glII@l IIU>yIIIIlXxwI&III͐g#5ͤ]!]PIIIIlYI III!x#0IqIq.^̀ADDLINE RQ & R5IVM-ON ON LINE 0, THEN R5 0 >> 1, CPU TO C4=1/C9=0 IS #xxxx!_"^!_"^!_"^>1!_"^>2!e_"^>32`:!j^A+`![ͯilSI!IiQYlFIlSIQqailFIaAlSIlFIͺ___Qqail I0ILFIaAIIII I II lI lw^QYQ:%a$`l"g!"g!Jh@l! &iqg+h*g#"gIIaIKIIaIiIQYaIIIKaIIIQaiYxw#aiIQiYÐgI III͐gl! &Iqaiq;iq;iq;iqx>Y8>N2gfYaiIQcÐgI III͐gl! &IqaqiNqx>Y8>N2fl! &IYiq?x>Y8>N2fhI$a%#lSI8 IIlIlFI8QYQa`l$a%#lSIQqlFI8QYQa`l$a%#lSI!~Iʹ{~b!@ʹ!g`P!`ICRTC 2 : ADDLINE STATUS VS IVM ON/OFFTEST NUM >2.a2a2b>q2Ea2_a>I2Ma>Y2da2xa2}a>2a!i"a!b"Cb9>2.a>2a> >q2Ea2_a>I2Ma>Y2da2xa2}a>2a!i"a!b"Cb!aA![bͯilIIIIIqSIlajq3YlajY3YIlII"O2ok>2j><2j!#l8!i"9j>E2ok2j2j!#l!!+l!3l!;l!Cl !Kl!Sl![l:"/j!-jA!͙j!*k͵ilIyKL&TIQ IYIIqa IalIlI@l!l>jʹf>?l~g>l!Tai!Jainf"?jnf"j~2Xk~2dk!,k!Uk@!k!k:*kgl̈́:+kgl̈́!l0!A>>>>>>12345678<<<<<<<<<<<<<<<<<<<<<<<<<<C9=0 TO C9.IVM=0 , PARITY= (IVM PARITY SW>0 Iyla_I III IIlIII! Ia IilIla>Ky ( IqK>JQJy!~Iʹ{~b!@ʹ!Zb!bP!bICRTC 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>!b>!2c>dT] ͛͛= !cAʹII!AfP!dcf!dc!g͞g!ed!g͞g0!ied!h͞g!ed!h͞gTrack-Info  RY I>0y IqYi͝Ͳ_2j(Hy2j͍O! i ~#foeiBO!Si ~#foeijͷj*g|0g"g>2g*jfh9>g>@2Rgh9*gh5*1ifh9Y!h"vfi!Xhb!hPv!hvI&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 / ClrFlag:x APfiifi?iIi!fi" i!"i"i!fi"i!i" i!:j>024iw>*jw>*1iwfijifiifiifiifi!fi"Ui!xi"Wip!fi"Wi!j>228r=r:rg9!qv!FF"-r>128r2Yr=r:rg9!q@v>32dr>82xr}r:rg9!@rv>42dr>92xr>22Yr}r:rg9!@rvö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 >>#xx!r*"r>2s!ss!rr> -:s=2s( grt9ʹi!\B!tIvö!sst:sg9!"s͙QYYII 0IQ IY I IqQYqV! 0aQiY ( IIi"Uib!fi"Yi!i"[i+#^!fi"[i!i"Yi+#M!fi"]i!i"_i<I!fi"_i!i"]i<9!fi"ai!i"ci<6!fi"ci!i"ai<&:g02g:jz({2g:jx(<2j!9j~w:g?2gO2jG!7j "j#"1iIQY!mk > 21l!l"l! "k>2'l:з >2l>2Vl>2 l>2Jl2l2k!7o"tm[>2l>2Vl>2l2Jl<<2 l:>!l m > 21l>: m!l@2'l"lSk`ik >2k!n"tm02n!xk m͙IqIIqI͝+ Xxw!t÷Xxr>i!t!tǜ!t tPw# 0w# !$> >>>>> >> > 2*u!u{2u02ex>O!.w ^#V#Su^#V#Su~2Yx#~2x!u"u!&"|u͆wsvx! wPP͙&IIIIIIIII II>yq,!+qIai IaqY!@>6qQFNY=(  ,I>yq>Ry>y=yQY IqyQI?Y> y>yqYQYQYIKQYIq II0 IQ IYIq IIIILQY:k  >2k>2l=(2k>2l>2l>2ki!\Bv! nv!Unv:!n(!nv!Q IY ]I IIIIq^I IITI*u[u"u!u#x0))))|N8 } [|u!NR\v:}uNR\v:}uWS|u!Pv"u!LKuB"Qvx9ex9cu͝xu<T͍v͍vНIIНm!>m!>m>2kmmmmT].w,w,!n!~#w$% >2k 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,0,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??06!v:> :CE!lv(>O!sv2x"^u: :C!wE(>O! w2x"^u!yǜi!\Bv!xv!Bxv!uxv!xv!x0vx INTERLACE VM TESTS - C4/C9 COUNTING 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 CRTCН !yǜIiQy! y!2 y%y s#{ _P>!2y>!2>y>dT] PP= >2ny!iy!ny4|g0><@ r#{@&&0:!o:>(02op͙IIIIIIII>yqX!AqI IQai! )>y>6qQa-iqY=(>Iyaq%aqy=yIy&yYqY?YyYIYQYIKQYQYIq0 IQ IYIILQY͝|$ìoKm:!p͙Ix!rw#xw#xw#>w#xw#@qIIxw?qIi!\Bv! C"-r>028r=r:rg9!qPv>128r=r:rg9!qvTrack-Info  R8rq######= !@!~w##z !@!~w##z@ ɌJTKSL]RUMFK_GWYNEJTK::C!wE(! w" z!zx w͙II]I>%!NzsLz6I#= ITI͝j/zQIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII!}z: >2z;{͙IIIIIIII>yqO!AqI IQai! )>yqQa-iqY=(>y>=Iy=yy>yI> y>yQYIKQYQYIIIIIIp!qIQi( IIQԠaq#IQaIq>?ynQY 0IQ IYI?IƠIIIq IQ IY>2bz!@!~w##z@ Ϳ}!|6͔! }͔!a}͔!}͔!oW͔****xx** ****xx** ****xx**R0=3 / TEST FOR CRT 2 (NOT EXCLUSIVE :-)) / YELLOW = BORDER ONLY / C9=R9 NOT IN HSYNCCYAN COLOR >> C9=0 - 16 RUPT / q0 IQ IYIILQY͝-Ïz>p2|!"|>2%}>b|>o2|!%"|>2%}>z>n2|!e"|> 2%}>f>m2|!"|> 2%}>R>l2|!"|> 2%}>>>k2|!%"|> 2%}>*>j2|!e"|> 2%}>>i2|!"|>2%}>>2|!k|͙}͙IIIIIIIII Iqp!qIQi( I I@IQ aq#IQaIq>?yQY 0IQ IY III?III IIIq IQ IY>ɞ!oW ͔!]~͔R0=7 - RVMB NO BORDER BYTE (CRTC 0)!J!t埯͇!@@8!H @8!P)@8~!~͔!oW͔!~x!ͩ!>ɞR0=3 / TEST DISPTMG SKEW VERSUS BORDER / 3RD VERTICAL ZONE: NO SKEW / YELLOW = BORDER ONLYAw#|g0?&x0?&x?&x0JDKSL]RUMFK2|II͝|q|!~ͷ!~ǜi͵y!A}?!}!}"v!C~v>p!|02|~!q~v!~v!\Bvq|gUPDATE R13 HERE =====>yy AND ====>xx (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!1"!w"2p>6272<2<2<2! "!">2!"!A"! "!">2!@:"`>2z2> 2x:!_GWYNEiqӂ-]Ã%SKyۅ<<<<: >22h2!>2^F<<<<: >22!>2^>2h!<<<<: >22h2!>2^:Ox2!ـ  ~#fo>"V!ـ 6#!!RͱI>ywIIIII III>q,!'qIai!  IqqY>7aqqQaiqY=(>IyIq>*y>yq> y>yq>?y IqI>?yTQYQ>KyII IIIAiqiqiqiqiq Qqq>7y! aiqI?נI I I[I>I IIIIIq IqII><2x:cw 2cwݞ"w>2x2x2&y>2[>2K}>2x2x2&y> 2[> 2K}!z> !!|2}>xx[!12: !{F2}7!!}!z!}> !z> !2}>xx[!12!|:> > n!z> !2}>: !{>2}!|!01!z> !2}>: !{>2}!|!0:> > "z2Kz2y02}>12}"|!32"v}z2y{2yx2+zy2iz"}>*2|!yIqIILQYFQYݞ$b!j埯͇!>w,>w,w,> w,w,>w,w,>pw,!B6,C6,.|g0!tw|g0!B6,C63,.|g0{!w|g0!~!ͩ!n6#!͔!͔!EJLFRUKTMx8PXP4CRTC x / C0=0=Red+Magenta/C0=1=Grey/C0=2=Green/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 >>>>>>>>>>>>>*****m|wIxIIyIIII II !@͸II IQ IYp!qIQi( aq!IQaIq>?y[QY 0IQ IY III?IǠII IIIq IQ IYIIͰzݞ-Çy><2z!  "zSz|22 }2!! . "zSz"!  "zSz"IaiQQ&a,,,,i%ai$Q>>2{02}>32}!16"v}!}"|!12"}2}2|!e{m|wIxIIyITrack-Info  R*** 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=0.1.0.1R6D R0=1 OUT R13 >>>>>>>>>>>>>>>******** 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=~#w#!́w!I. & .>>ay IaiiY IQ= >ay IaiiY IQ=(͸!>!ayyA.iiY!> G>2SO!X ~2#~2!X ~#fo>>>>>>>>>>******** 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!Yͫw͕,ITJY IQ͕TKY IQݞd.>y   yɯ͇!JQY!+͔!P|! !|0!y͔!>0|n= ! ɎTKTTL>r#ns#qn= LINES MODE 2,0,2,... [BORDER/INK 0] / BLACK RECT. [INK 0/INK 1] RED:L. MODE 0LINES MUUUU!I!D!?!:!5!0!+!&!!!!!! !!!"?}2\2ԑ|\2ޑ>2>S2->2!="ؓ!|2}2:828>2!bZ*b"!/2w!I.& .>>Pay IaiiY IQ= I!Ps#r+nP Hs|g{2I>< 2> 2O!, ݞ璇O! ~#foͤͷ2Ӓ2?x2LŒ2:gW!V͔:gW!`͔o5KS۠ƠKEY 1<>2=INC DATA IN RAM / KEY 5<>6:PTR DATA / KEY 7<>8=INC PEN (COLOR SWAPODE 2,0,2,... [BORDER/INK 1] / BLACK RECT. [INK 1/INK 0] RED:L. MODE 0!"!"_!"B>2E>2H2Z>-2Q%!"!"_!JT"B>i2E>2H>,2Z2Q!wIT>yQYq  !JTiI(( =y,̠ I!KaiI͍ݞJKLM><2> 2_ !sn!!"_wIT>yxq  !JTI(;( =y=̠ IIݞ&TKQYQY I͇͚!Ǟ!͔!b@͔!͔!‰͔!͔!oW͔:>8>2S)DATA=#xx / PEN=#KEY 3/4:DATA--/++ , SHIFT:1ST BYTE OK=0/255 ,CTRL=HS ON/OFFMODE x TO MODE y02!."!"!."!"!4!"Ԡ>52͹>42͹!."!."!."! "!?><2@!ZO "&$(!."!x"!."!j":-y:<2yO!? ~2-.. .j.:o>(>:O>+(>:( ::@: 0"0$: 0#0%: 0$0&: 0%>0>Ƞ>ˠ>Ҡ>ՠ>ܠ>ߠ>!T>Xȓ!5͔!͔!ϑ͔!PÔ!UD>ȓ!P@͔!͔!ɔÔPLIT 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 27!w.Eڊݞ&QܠY (ΠѠ% ɯ͇!!j͔+x‹`W͋aW !͔P!P>xw# n= !oW͔!Ћ0͔MODE UPDATE (2 TO 0) B!T>Dȓ!`͔!z͔!͔! ͔!"͔!>͔!Ô2ޓ|2?}2㓯͇!=>U!@>~,˭>n !Ǟ!͔!bP͔!oWÔKDJSL]WUMF^_GRYNETESTS : R2 UPDATE / R3 LENGHT FOR MODISATION / R3=0 SETTING (ON 3RD ZONE)OUT R2,#09 ON C0=7.8.9.A (CRTC C0=SCREEN C0-1)YELLOW COLOR ONLY IN MODE 2 / INK 10=#5F<->#5AKTKKKKKKKKKKKKKKK>!11!>!12>!13>!14 !15>!16>"̕2\!?uwI>X. Q&aܠYՠ= ݞ!͔EFORE 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> !B2ux2|2}2!="ؓ!Y^w!I.& .>>(ay IaiiY IQ= <>(ay IaiiY IQ=(>(ay IaiY IQ=  I><2 2: S2>_yݞ_x!>0h!>1x>3! X=!>22~(>2!hTrack-Info  R!P͔R2 UPDATE DURING HSYNCR2=#0B / R3=10 / ON C0=#0D0E0F10, OUT R2,#xx (+ R2=#2E ON C0=#23)I I!4埯͇!͔!b@͔!`͔!b͔!P͔!Ǟ!oWÔJKT>>>> >>>2w02!dͦwI ! >X. QIia I Yݠ= ݞj!͔!Ӗ͔R3 UPDATE DURING HSYNCR2=#0B / R3=10 / ON C0=#0D0E0F10, OUT R3,#0x (+ R2=#2E ON C0=#2A)!!uڛ!2!k͂!S?͡!>͔~<P #= S!͔!k2!gITCH)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!ilAol III3IIfIII( III3IIfIII!lʹ!!l^{s# x |g#JLJLTTTTTTTTTT !mA2?q2Uq2q>2n2FnnIIq>2!mlI!KL_RI![m!n>^#V#= ! Ia Ii IIQi͔!u2!@͔!VfW>,#!͔:jgQW!͔!͔!2[!P" fW#!ؙÔPREV R9=7 >> UPD R9=1 WHEN C9=3>>C9=0 (OK FOR CRT 3+4 ONLY):PREV R9=7 R4=38 >> 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 R2lI!q ~<( =yqai{ |(zyiپT#  I>0y IqYi͈2;q(Hy22q_O!1p ~#fo0pO!p ~#fo0pg> 2mKö́:nIO>Gx!!G >2Fn(}2n`]ö́>gdö́ko:ng̈́!CoP!" l mnnnnnnnnnnnnnnnnk^ IIIqqYiپk^j_i`hagbfceddekQiVʹ! oͥo!CoP!noI&IR8 PARITY WITH RFD / KEY Shift=+/-R5 LINE=00 VAL=FF/R8 LINE=00 POS=00/VAL=711/2/3/4/Left/Right=#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 Ovf)PREV R9=7 R4=1 >> UPD R4=0 WHEN C4=1 & C9=7 (UPD FROM C0vsio)(01:C4=0 00:C4 ovf)!埯͇!#͔!oWÔJKTRESULT OF CRT-R4 & R9 CHECKw II*I(QY QY9Xxw:R8 Line/Pos/Val, 5/6/78:R5 Line/Val!A>Ao!oP W !ow###p;pp`pup!p"3p!Ip"5p!p"5p!;p"3p*/q6k!p"7p!up"5p>I2nf!p"5p!`p"7p>q2nfɜpppppppqpP!p"p!p"p!qq!p"p!p"p!q`!p"p!p"p!UqO!p"p!p"p!Uq>!p"p!p"p!?q-!p"p!p"p!?q!p"p!q"p!p"p!q"p <:;qx(!xB!y%y!(y>!x.!)y"x!z(y!%y>!y!&z(y!%y>!y"ySx2xx2x" y>2x!xmy͘ IIqM  6uI%y IIIIq)y II I>w2x(y I=uͳ- ÿxIq!x#0fy4!]yuIʀHL CALC=#xxxx h͑u!Au!y"n"n"n"n"n:,n2,nO2qG!n !n !nq >qwq!"r!a"r!@2ss>1!>3!@>5!>72Ws>O2bssF!"r!k"r> 2ss!@>1!>3!@>5!>72Ws>E2bs"rSrCr!yrA s2r>2r>2rIIq>2rl͂tI!KLl IIIIqai IlI>2r>(x2r@la͉ta&lÍrʹ!3sͥo!SsP!ssI&IR8 IVM ON/OFF ON ODD C9, C4.0=1C9=0x ON FRAME:x (O:ODD/E:EVEN) R9 UPDATE ONu!Pu!Czu̓u!uƁ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>26u>2=u>12t2y2w2{2u!"u!"u!"u!"ju!P"w!"w!"y>26u>2=u>02t2u2y2w2{!"u!@"u!"u!"ju!"w!"w!"y!{>T2u!{"ymy͘ IIqM  6uI%y IIIIq II  IIIIq ITrack-Info  R C9=6 AFTER C0=R1 (HEY DMANU!!)IIq>2rMl!Cu~t!t>0!`u~t!t> !|ut!~t>!ut!~t>"tS?t2Gtx2]t"mt!tA͐tIl͂tIIqlI~t IIIIq IIlÍt͉t0lt3llɯʹt!A!!u!P!ut!tI&I>P!w#!!u^s# x |g#JTKTLJUTTTTTTTTTTTKSLWRUMFK_GWYNEPARITY TEST 1. EVEN FRAME. C4.0=1EVEN R9 BEFORE IVM ON ODD C9ODD R9 BEFORE IVM ON ODD C9EVEN PARITY SELECT ON CRTC 0/2FIX EVEN PARITYFIX ODD PARITYSWITCH PARITY O/E/O/E...PARITY CHECK :xx,xx : x~~II2~!͓~!~4|g0><@ r#{@8rq######= !@!~w##z !@!~w##z@ ɌJTKSL]RUMFK_GWYNEJTK:т0"0$:Ђ0#0%:ς0$0&:΂0%>0>M>P>W>Z>a>d>k:ɂ000:ʂ>0>f>i R9 BEFORE IVM ON EVEN C9ODD R9 BEFORE IVM ON EVEN C9 r9r9r9r9 r8r8r8r8R8R8R8R8/;!Cuv!v>0!`uv!v> !|uv!v>!uv!v>"vSxv2vx2v"v!GvA>R2u;vIl͂tIIqlI~t IIII3q IIlÍt͉t0lRv3ɯʹt!A!w!!wP!Mwt!tI&IPARITY TEST 2 (C4.0=1):EXIT IVM ON NEXT LINE R8R8R8R8 r9r9r9r9 r8r8r8r8!x"3x!yqxI I IIq=uIͳ< -{ODD/EVEN PARITY (C4.0=1)!{>A2z|!|ͥ| > }|U}h!Au!X|u!Ҁ!| x ܀܀܀f}|8f|ݖ>:(>2||8##!u|ր!z|4ʀPARITY FRAME SWITCH (CRTC 1)TEST 1: xx,xx WRONG!͘IIqM xXw#s#͘IIq&N IqM IqM xXw#s#2}͘IIq>M = }Iq!MM0 xXw#s#͘IIq& IqnM xX!tx>!;xB!8yqx!tx>!;x.!ux"3x!Tytx!qx>!x!rytx!qx>!x"xSx2"xx2;x"Ux>2Kx!wA͹xlIIqMll͂tIqx IIIIqux IIlI>w2KxtxlI͉t-l x33@Iq38!x#0x̀!xIHL CALC=#xxxx ʹt!A!x!P!yt!tI&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 w#s#:(!cj"}!ij"}!,j" ~!}h!6~"-~!Au!7~u!Ҁ!Q~ր!~ͣ~~!a~րͪ~~!p~ր!~"-~~IIʀ>~f~8>E >O2~~8!~ր6~͘= PARITY SELECT ON CRTC 0/2FIX EVEN PARITYFIX ODD PARITYSWITCH PARITY O/E/O/E...PARITY CHECK :xx,xx : x~~ςIIς2L!G!L4|g0><@ r#{@8rq######= !@!IVM ON EVEN C9 r9r9r9r9 r8r8r8r8R8R8R8R8>2t>2t>12Qs2 y2w2{2Au!"t!"t!"t!"t!P"v!"v!"x>2t>2t>02Qs2Au2 y2w2{!"t!@"t!"t!"t!"v!"v!"x!PzA>T2u!{"x͹xlIIqMll͂tIqx IIIIq IIl IIIIq IIlIlIIq͉tIA2{!{{ > W||͡|ʹ!A!{!!{ x (((f{̈́f|ݖ>:˂o>(>:_Kyٷ'@ۀ !͠P!Kyٷ'@ۀ (Bs##|g ͙:΂\!+|\" ")(P!P")!r0lso1m@*" !r0A1?(.&0̈́e@|O |O |g}Po|gO6T]!w?~ۀ#~# &o))) ~#zW@W &o))) ~#{~_>W~(y#~Iy#~Iy# sI YI QI YI QI YI QI YI QI YI >:(>2{{̈́##!{"!{4PARITY FRAME SWITCH (CRTC 1)TEST 1: xx,xx WRONG!IIqMlxXw#s#IIq&NlIqMlIqMlxXw#s#2j|IIq>Ml=l|NIq!MM0lxXw#s#IIq&lI:qnMlxXw#s#:(!i"%}!i"1}!xi"V}!|Aʹ!}"y}!A!}!!}"!}}R}!}"}R}!}"!}"y}R}II>~f}̈́>E >O2}}̈́!}"͂}=Track-Info  RQI YI QI YIQ1YIH IPH{x Ox (   !Mx0x8x0x8lx8MlMlx8x03!{OB:::z‰> !ɂPIXIqI? CIB= Iq IQ IYllllllll>X<|0f8l8vv0 000 0 0f<f<0 0`0 ~~`0 0`fff~fff~~ xflxlf```bf8ll8ff|``8lvff|lf< <$0 x |v`|fffff>|`lvff8<ff<`flxl8<lffff0>>> >>>>:}000:~>0>>>:o>(>:_Kyٷ'@͏ !TP!Kyٷ'@͏ (Bs##|g M:!+|"ͳς"݀܀uP!P"݀!& s#1m@*"!&A1?(.&08e@|O |O |g}Po|gO6T]!w?~͏#|00|006ffff>fff<ll8lfff>|~L2~`fff~fff~~ xflxlf```bf8ll8ff|``8lvff|lf< <$0 x |v`|fffff>|`lvff8<ff<`flxl8<lffffW~(y#~Iy#~Iy# sUI YI QI YI QI YI QI YI QI YI QI YI QI YIQ1YIH IPH{x Ox (   !Mx0x8x0x8 x8M M x8x0!L{OB:::z=> !}PIXIqI? CIB= Iq IQ IYllllllll>X<|0f8l8vv0 000 0 0f<f<0 0`0 ~~`0 0`fff~fff~~ xflxlf```bf8ll8ff|``8lvff|lf<͙͊IIIIII ;?qQYI QYI0 IQ IYIIIݝݝII IQ IYIIqI!mv͝%Ê><2n~ <  xwg9!!ƀͷ!Ԁǜi!͹y!v!1`v!wv! v?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, <$0 x |v`|fffff>|`lvff8<ff<`flxl8<lfffffff<ll8lfff>|~L2~`|~L2~`>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=6 (grey) R9=7 NOT LAST LINE CHRON C9=6, C0=0..63 >> C4=6. NO OVF C4!8"`> 2>02L<2^2ׂ!!@:"`>2>62L<2^>2ׂ! |2z2}2x!1"!w":!͎͙IIIIII ;?qQYI@ I IIq0 IQ IYIIIݝ IIIIIIq Iq IqI!mTrack-Info  R         v͝ǂ!ƀͷ!Ԁǜi!͹y!v!Ӄ`v! v!8 v!vOVF OF C9 FROM C9=7 ON LAST LINE CHR & SCR (C4=R4) (=0)C9=4 >> C9=5/6 (pink/grey)>> C9=R9=7 (white)ON C9=7, C0=0.1>>C4=6 / C0=2..63>> C4=7 / C9=7..31 (OVF C9)2=>22!> 2>O2=>2> 2>O2=202v>2݄!t͙I IIIIII II I0IGI IIݝݝݝݝ III>JyIIIIIqIq Iq!݄͋v͝(ù!ƅͷ!xǜ61>q!IIIIͪv!62>q!IqIIͪv!63>q!qqIIͪv!64>q!qqIqͪv>q2r!IqII!ͪv!Ŏv2;|2R}2Wz2\{2aʹʹIIIq͙II IIIIݝIݝIݝIIII II!#x0)))) Ŏ5!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 FRAi͵yͨ!\B@v!ԅv!v![v@!=v!vI? .#%0R5 STORY : C9 INTERACTION IN VERT. ADJUST. MODER4=10, R5=24, R9=7 / ORANGE BORDER : ADJUST. ZONER6=#09ON LINE 5 IN ADJ. ZONE, R9=10ON LINE 1 IN ADJ. ZONE, R9=3JDKSL]RUMFK_GWYNE><2~ < xwg:9!6!͹|g@ ˆ@ { {@8rq##!͙͜IIIqII?IIII Iq!o  p !IQqIBYB(IaIIII IME (E/O R6=50/50,7F/50,50/7F,7F/7F)ͪvP!P">02яя>12Nя>02!"p!"xͪ!Ԑv>='ͪv>>'ͪv>?'ͪv>12'ͪv>'ͪv*p+"p*x#"xg9ʹʹIIIq͙ IIII!#x0))))pÐ5!R8=3 ON C9=0, C0=#xx : FRAME SIZE=#xxxx usec (R9=7)R8 UPDATE DELAY + 0 FRAME DELAY>2G>2 >2x2Lx2>02ʹIq͙ IIIIIMII2I6!#x[))))"d(RRIq͝@!Oͷ!]ǜi͵y!~6## !0"M!v!\Bvo!To~ !R~#~#*~R ##"LOGON SYSTEM PRESENTS THE 1ST ONE-LINE-SPLITTING (RLAL) ON CRTC 2?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;??&&JDKSL]RUMFK_GWYNE>62?!g!I2I!#x0))))pRŎ5!p5> 2ێ!>>22:!ԑ͙MI2IIIII>=2 Iۛi!5 v!_Zv!vCRTC 2 - TRYING FAKE VSYNC VIA PPI PORT BR2=50 / R3=14 >> VSYNC OFF ON CRTC 2FAKE VSYNC OK IF SCREEN STABLE!!"ƒ!͙I!>Uai= +>=2ڒ Iۛi! v!8Pv!\B vTRYING FAKE VSYNC VIA PPI PORT B MIDDLE SCREENFAKE VSYNC OK IF VSYNC BLACK BAND!`Ҕ͙IQIq!:>82A!r!&>72?!g!>92A!r!"C+SÊ":( 2>29!͈͙I I1QYݝq QYqI!f?Y"QY QYQY QY͝0!f??Q!f?III1II?II>Jyi!Պv!~v!\BvCHECKING 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!'"!d" *#"*+"w' IIƠId9Xxwp#!"!d" *#"*+"wIIƠ&Id[7Xxwp#!"g!Р"w!V*g#"g*w#"wwII IIР>yI$III7XxwI&IIIp#wIIIII$III7Xx<(=2j!"B!d"i *B#"B*i+"iwIIIII$IIId_7Xx<(= C0vs=48ON C4=C9=0, R9=1, 1ST R0=49/2ND R0 'OUTI'=13 FOR 14 usec ON C0vs=46!Ӌ!"Ê͈͙I I1QY QYqI!R?Y"QY QYQY QY͝0ߋ !Yͅ2ێ2y>4>4ͪ!Xv>2y<4ʹö!v:>2! > 2:C2 E!lvsv(": > 2:C2 E!w w("i!\Bv!v!P"͙!ͅͷͪͪ!jvͪvͪvͪvͪvʹö2gT9!Fͪv:=(=(>2B22f2.>62ӎ2ѐ!60>I2r!IIIIͪv!Track-Info ! R!!!!!!!!!wI&IIIp#>$;w&;w2ޝz2{2wII@$IQY7Xx!"!"!":_>2>22{(2Ȁ>2*#"2A!"!"!"ݞcx8x0cccKyٷ'@ͮ !~P!Kyٷ'@ͮ (Bs##|g ա: !+|"!.ps+1m@*"!.^1?(.&0!N(<(!KÔOKxKOxWe@|O |O |g}Po|gO6> 2:!˛͖ͤIIIIII !;?qQYI QY!I0 IQ IYII!III IQ IY!IIqU!ýͨ%!Ö><2z~ <  xwgD!!Ҁ›!Ҝt!y!́!=`́!́! ́?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 & S   IQqIBYB( IIIIIq II͝W f!~< !~#"o&) ![~< !~#"o&) !f~< !~##"-o&) !~< !~#"R͗!3~< !~#"i͗!e~< !~#"͗&o6,6,6,60000;1z11172v2000v27211z1;1000!ߔ2ɯi!0s#r#2s#r!>w#<=w#6#6!^>w<#^=w#6!}6!\B͂!W͂!v!\C v LOGON SYSTEM - ONE LINE SPLITTING (RLAL)CRON 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=6 (grey) R9=7 NOT LAST LINE CHRON C9=6, C0=0..63 >> C4=6. NO OVF C4!8"l> 2>02X<2j2!!@:"l>2>62X<2j>2! |22}2!="!":!͂˛͚ͤIIIIII !;?qQYI@! I IIq0 IQ IY!III IIII!IIq Iq Iq ON CRTC 2 POC POC POC POC....??&&:=!͙!(1!5!"ޕ͙xo*ޕ(#"ޕR>2g9!C"͙Cxo* #"CR>2g9͙Iq`QqhQ9e9͙PIXx`AhHgx9`89aH9`h9a9e9͙!AIxx_x ez 9i!v!v(w!.v!v5w!.v!Uv!v!pv!v`!!v!Kv!{vP!v!vö.. g9U!ýͨ!ӂ!Ҁ›!Ҝt!y!́!߃`́!́!D ́!́OVF OF C9 FROM C9=7 ON LAST LINE CHR & SCR (C4=R4) (=0)C9=4 >> C9=5/6 (pink/grey)>> C9=R9=7 (white)ON C9=7, C0=0.1>>C4=6 / C0=2..63>> C4=7 / C9=7..31 (OVF C9)2I>22 !> 2>O2I>2 > 2>O2I2 02>2!˛̀ͤI IIIIII II! I0IGI II I!II>JyIIIIIq!Iq Iq!͗́ͨ(!ńY!Iq0 IQ IY!!IILQYͨ-!Ûz>p2|!"|>21}>n|>o2|!%"|>21}>z>n2|!e"|> 21}>f>m2|!"|> 21}>R>l2|!"|> 21}>>>k2|!%"|> 21}>*>j2|!e"|> 21}>>i2|!"|>21}>>2|!w|˛ͥ}ͤIIIIIIIII !Iq!p!qIQi( I I@IQaq#IQaIq>?yQY 0IQ IY II!I?III II!Iq IQ IY><2~ < xwgFD!B!ņ|g@ ׆@ { {@8rq##!˛ͨͤIIIqII?IIII !Iq!!{  p !IQqIBYB(IaII?2}}:|` 2|IIͨ|!}|!~›! Ҝty!A~?!~! ~"́!O~́>p!|02~!}~́!~́!\B́q|gUPDATE R13 HERE =====>yy AND ====>xx (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|>62C2<2<2<2! "!">2!"!M"! "!">2!@:"l>22Track-Info " R"""""""""II I!Iqͨ@!![›!iҜty!~6## !0"Y!́!\B́o!`{~ !^~#~#*~^ ##"LOGON SYSTEM PRESENTS THE 1ST ONE-LINE-SPLITTING (RLAL) ON CRTC 2?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;~?~;zz;??&&JDKSL]RUMFK_GWYNE>62KR!I2I!#x0))))pRю@!p@> 2!>>22:!˛!ͤM!I2III!II!>=2 I曯t!A ́!kŹ!́CRTC 2 - TRYING FAKE VSYNC VIA PPI PORT BR2=50 / R3=14 >> VSYNC OFF ON CRTC 2FAKE VSYNC OK IF SCREEN STABLE!!"Ғ!˛ͤI!!>Uai= +!>=2 I曯t!́!DṔ!\B ́TRYING FAKE VSYNC VIA PPI PORT B MIDDLE SCREENFAKE VSYNC OK IF VSYNC BLACK BAND!l˛ޔͤIQI!s !:>82M!~!&>72K!s  !>92M!~ !" C7Sϊ.:( 2>2E!˛͔ͤ!I I!1QYq QYqI!r?Y"QY QYQY! QYͨ0!!r??Q!r? III1II?II>Jy!t!́! ~́!\B́CHECKING 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 FOq!!   IQqIBYB(IIII!Iq IIͨW !r!~< !~#"o&) ![~< !~#"o&) ʔ!f~< !~##"9o&) !~< !~#"^ͣ!3~< !~#"uͣ!e~< !~#"ͣ&o6,6,6,60000;1z11172v2000v27211z1;1000!>ɯt!0s#r#2s#r!>w#<=w#6#6!^>w<#^=w#6!}6!\B͍!c͍!́!\C ́ LOGON SYSTEM - ONE LINE SPLIR 14 usec ON C0vs=48ON C4=C9=0, R9=1, 1ST R0=49/2ND R0 'OUTI'=13 FOR 14 usec ON C0vs=46!ߋ˛!"ϊ͔ͤ!I I!1QY QYqI!^?Y"QY QYQY! QYͨ0! !e˛͑22>@>@Ͷ!d́>2<@Ϳš!v:>2! > 2:C2E!xvv(": > 2:C2E!ww("t!\B́!́!P"ͤ!˛͑ÏͶͶ!v́Ͷ́Ͷ́ Ͷ́Ͷ́Ϳš2#g`D!RͶ́:=(=(>2N22r2:>62ߎ2ݐ!60>I2~!IITTING (RLAL) ON CRTC 2 POC POC POC POC....??&&:=!ŕ˛ͤ!!4 1!!A !"ͤ!xo*(#"R>2gD!C"ͤC!xo* #"CR>2gƘDͤ!Iq`QqhQDe*DͤPIXx`AhHgD`DDaTD`tDaDeșDͤ!AIxx_x ez Dt!́!́4̓!:́!́A̓!:́!á!́!ɘṕ!́`!-́!Ẃ!́P!́!˙́IIͶ́!61>q!IIIIͶ́!62>q!IqIIͶ́!63>q!qqIIͶ́!64>q!qqIqͶ́>q2~!IqII!Ͷ́!ю́2G|2^}2cz2h{2mͿͿIIIq!!ͤII IIIIIII!!III II!#x0)))) ю@!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 š:. gD>,- CRTC 1 - BE00 CHECKFROM C0=#3A BEFORE 1ST LIGNE (C9=C0=C4=0), EVERY 6 USEC (INI+INC B) :FROM C0=#20 ON VERY LAST LINE BEFORE C4=R6, EVERY 6 USEC (INI+INC B) :FIRST DETECTION (BIT 5=0) WITH IN A,(C) WHEN C0=#xxFIRST DETECTION (BIT 5=1) WITH IN A,(C) WHEN C0=#xxSTATUS WHILE R6=0 IN DISPLAY AREA (C4=1,C9=0):#xxSTATUS WHILE R6=0 IN DISPLAY AREA (C4=1,C9=1):#xxSTATUS BEFORE R31 SEL:#xx, AFTER SEL :#xxSTATUS 5 us AFTER R31 READ :#xx, READ VALEVEN+ODD FRAME (E/O R6=50/50,7F/50,50/7F,7F/7F)ͶÁP!P">02ݏݏ>12N!ݏ>02!"|!"Ͷ!́>=3Ͷ́>>3Ͷ́>?3Ͷ́>123Ͷ́>3Ͷ́*|+"|*#"gDͿͿIIIq!ͤ IIII!!#x0))))pϐ@!R8=3 ON C9=0, C0=#xx : FRAME SIZE=#xxxx usec (R9=7)R8 UPDATE DELAY + 0 FRAME DELAY>2G>2 >2x2Xx2>02ͿIq!ͤ IIIIIMII2I6!!#xg))))"d(RTrack-Info # R#########UE=#xxSTATUS 5 us AFTER R31 WRITE :#xxSTATUS 4 us AFTER STATUS READ :#xxREAD R31, LOOKING STATUS UPDATE IN FULL FRAME (0:NO/1 YES):#xx:0"0$:0#0%:0$0&:0%>0>>> >>>> :000:>0>>>ͨ۝ͨN(=W* :w],w2z2><2_ > k(2 >! w,w:=(=({2+ugCD:_>2^2^:=2^>24_Kyٷ'@͛ !IP!Kyٷ'T]!w?~#ͮ~ɟ# &o))) ~#zW@W &o))) ~#{P_>W~(y#~Iy#~Iy# stI YI QI YI QI YI QI YI QI YI QI YI QI YIQ1!Mx0x8x0x8x8MM!{OB:::zYIH IPH{x Ox (   !  x0x8x0x8"!Mx0@͛ (Bs##|g Ϟ:!+|"!!s1m@*"!mB1?(.&0>28!M"%"2ͤ*%#"%M!x0*%B>De@|O |O |g}Po|gO6T]!w?~͛#~Ͷ# &o))) ~#zW@W &o))) ~#{~_>W~(y#~Iy#~Iy# saI YI QI YI QI YI QI YI QI YI QI YI QI YIQ1YIH IPx8x0x8x8MMx8!M[R*+"* > !PIXIqI? CIB= Iqllllllll>X<|0f8l8vv0 000 0 0f<f<0 0`0 ~~`0 0`fff~fff~~ xflxlf```bfH{x Ox (   !Mx0x8x0x8!x8M!M!x8x0!M{OB:::z>!  x0x8x0x8"!Mx0x8x0x8!x8M!M!!x8!M[R!*+"* > !PIXIqI? CIB= Iq IQ IYllllllll>X<|0f8l8vv0 000 0 0f<< <$0 x |v`|fffff>|`lvff8<ff<`flxl8<lfffffff<ll8lfff>|~L2~``|~L2~`f<0 0`0 ~~`0 0`fff~fff~~ xflxlf```bf8ll8ff|``8lvff|lf< <$0 x |v`|fffff>|`lvff8<ff<`flxl8<lfffffff<ll8lfff>|~L2~`|~L2~`< <$0 x |v`|fffff>|`lvff8<ff<`flxl8,- CRTC 1 - BE00 CHECKFROM C0=#3A BEFORE 1ST LIGNE (C9=C0=C4=0), EVERY 6 USEC (INI+INC B) :FROM C0=#20 ON VERY LAST LINE BEFORE C4=R6, EVERY 6 USEC (INI+INC B) :FIRST DETECTION (BIT 5=0) WITH IN A,(C) WHEN C0=#xxFIRST DETECTION (BIT 5=1) WITH IN A,(C) WHEN C0=#xxSTATUS WHILE R6=0 IN DISPLAY AREA (C4=1,C9=0):#xxSTATUS WHILE R6=0 IN DISPLAY AREA (C4=1,C9=1):#xxSTATUS BEFORE R31 SEL:#xx, AFTER SEL :#xxSTATUS 5 us AFTER R31 READ :#xx, READ VALUE=#xxSTATUfffffff<ll8lfff>|~L2~`|~L2~`< <$0 x |v`|fffff>|`lvff8<ff<`flxl8<lS 5 us AFTER R31 WRITE :#xxSTATUS 4 us AFTER STATUS READ :#xxREAD R31, LOOKING STATUS UPDATE IN FULL FRAME (0:NO/1 YES):#xx:0"0$:0#0%:0$0&:0%>0>>>>> >>:000:>0>>>͝Н͝B(=W*:w],w2z2><2_ > k(2>! w,w:=(=({2ugC9:_>2^2^:=ȯ2^>24_Kyٷ'@͐ !>P!Kyٷ'@͐ (Bs##|g Ğ:ۛ!+|ۛ"!s1m@*"!mB1?(.&0>28!M""'͙*#"Mx0*B>9e@|O |O |g}Po|gO6T]!w?~͐#~ͫ# &o))) ~#zW@W &o))) ~#{~_>W~(y#~Iy#~Iy# sVI YI QI YI QI YI QI YI QI YI QI YI QI YIQ1YIH IPH{x Ox (   !Mx0x8x0x8x8MMx8x0!B{OB:::z3!  x0x8x0x8"!Mx0x8x0x8x8MMx8!M[R*+"* > !PIXIqI? CIB= Iq IQ IYllllllll>X<|0f8l8vv0 000 0 0f<f<0 0`0 ~~`0 0`fff~fff~~ xflxlf```bf8ll8ff|``8lvff|lf< <$0 x |v`|fffff>|`lvff8<ff<`flxl8<lTrack-Info % R%%%%%%%%%Track-Info & R&&&&&&&&&Track-Info ' R'''''''''