From 07d2641741de1205d2640c153b30f52f0968a6ec Mon Sep 17 00:00:00 2001 From: Zellyn Hunter Date: Sat, 17 Dec 2016 22:19:22 -0500 Subject: [PATCH] langcard: show help URL on data-driven test fail --- audit/audit.dsk | Bin 143360 -> 143360 bytes audit/langcard.asm | 39 +++++++++++++++++++++++---------------- v0/index.md | 4 ++++ 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/audit/audit.dsk b/audit/audit.dsk index d10d1876615f9778ed0cc7eb0ebe10899e0fe2e9..33b86a59d7f2825c6bd486138738f7af59918482 100644 GIT binary patch delta 1619 zcmaJpwJtE6!-EEXk2P7D-?G-Mx*P|~(_67K$A>i1Bmo1E!`o9(gWU*=P`uzSc z&+qr^&ogK7%vlEV*+R2J_-YK5x`Z{pm@RvGg{Xy;>19#9%XSUR=I&C}gx+##MnqhI z8&G=|&+C3hGof!>+7jYi!YcnETg$EmJgn!b4)!y2cB9#HL15;%O(HNVw*}7>w++uf zxE&&VIR;-Z!>tf*m0UG*8FDqBV_LkMo%y}YDBA*sQ9}#Vo?Ic?@r4C|w6ab!WdNNr zYs*PCT|Bcz)+o4Hfg1@Su2wBRHN-ZA{*6Dy>+&6hu6cc0pYpWCQ+>*BDO`;B9IZ= zCaML5#CC{QFLaINS~RoZ8MD>sY7Mci%O&-B*RZ#Tf2G8BvI!%(-Or%A+i14E6<%Hr z-P^Xkizoa{ta?YQ5~_C^P!oT%LC23equf7AN<=?EESm>-#*2F zS&{1;eoW^qw!WXcIXFT=q^PP56bnip3K%Bl=JO;Lv0i`|VcleJgvO z$7w|j!eA;+<*=lr16>vP6R@HbSmGcbCa!B94ce$h=XuqUP zh)PHbd-YAfII2$guo@L*h3@rbnd}{?8cip4ByitRl2-{E?n=?(u>=1L|9xBS$2n`E_Mb@~ z?hE^G2X#k6aV4eGKAa+GIGU~Tv^Xx&keCQ(a|Lqd`SZ>S{spH6n4Wi*=0hlV(P!&& qyoPooGkAbnHW^SjL^#U-_th04e4kBcTADGAheOL|&Vh zGcBlovrljP&cQF>3J>rs>!wIEfb1gvrh6HmRq)~UYYGnQ{Pe`xJPy-xCI2Uu4Zd!u z08+C>GAOl@QK^#3WWDVqmh|$czGmCc4xfiDfZ(~r3YIM}MB+Y{t6+@811y_hkiwv;Af@)XAtGq*e|)rJO5*shAAJUwVS z%s;|CMt&7@$1I18Fc!?lePDU#NC=Nm)OqS+2=~e>HkvY#qaz`Fk)nF#)egVjb_@HC zgAKNyxG~F-{R22pJ$})2u!Yjm!FG-RZM~nA>Q$$ewv_iQ7ckXB z_38egZEx94Tdl3FS6jF8`TT_w=(L+q#iFLG%@w{lnB=-y9 zXV9^JcgK}B6m^4}+In@c!%PP|!YmInvVM7l;g>cQqiXjc_lxyF<02%NnB_$^xwM=7 zjX}S=(ebr5(`ml{1w*i+{%@LV(^muy4gb)=tp?qjw3mC;{yb;4S3Topu95LnmJCox z1se~Q0!&&+kbyBVFcwntrKRWXsM5;_WFYESnPEGEroYKro+kcR!EM2N>z(_)NFr=_gOQbn9qIN+1Rf62e~JhUS=Q` zxEWE$j;4}XRofG*!tAj?<2hkmBvBz9BUv$%1t6ehwD*?5`aQK}UlyD<3r^Y``xlgvY1se( diff --git a/audit/langcard.asm b/audit/langcard.asm index 3ce2465..d00c33d 100644 --- a/audit/langcard.asm +++ b/audit/langcard.asm @@ -270,7 +270,7 @@ jsr PRBYTE lda #$8D jsr COUT - jmp .done + jmp .datatesturl + iny ;; Test current $FE1F @@ -292,7 +292,7 @@ jsr PRBYTE lda #$8D jsr COUT - jmp .done + jmp .datatesturl + iny @@ -316,7 +316,7 @@ jsr PRBYTE lda #$8D jsr COUT - jmp .done + jmp .datatesturl + iny @@ -340,7 +340,7 @@ jsr PRBYTE lda #$8D jsr COUT - jmp .done + jmp .datatesturl + iny @@ -364,7 +364,7 @@ jsr PRBYTE lda #$8D jsr COUT - jmp .done + jmp .datatesturl + iny @@ -378,18 +378,13 @@ bcc + inc $1 + jmp .outer - -.tests - ;; Format: - ;; - $ff-terminated list of C0XX addresses (0-F to read C08X, 80-8F to write C0XX). - ;; - quint: expected current $d17b and fe1f, then d17b in bank1, d17b in bank 2, and fe1f - !byte $8, $ff ; Read $C088 (RAM read, write protected) - !byte $55, $55, $55, $AA, $55 - !byte $ff - nop ; Provide clean break after data when viewing disassembly - nop - nop +.datatesturl + +prerr $001E ;; E001E: We initialized $D17B in RAM bank 1 to $55, $D17B in RAM bank 2 to $AA, and $FE1F in RAM to $55. Then, we perform a testdata-driven sequence of LDA and STA to the $C08X range. Finally we (try to) increment $D17B and $FE1F. Then we test (a) the current live value in $D17B, (b) the current live value in $FE1F, (c) the RAM bank 1 value of $D17B, (d) the RAM bank 2 value of $D17B, and (e) the RAM value of $FE1F, to see whether they match expected values. $D17B is usually $53 in ROM, and $FE1F is usally $60. + !text "DATA-DRIVEN TEST FAILED" + +prerred + beq .done + .printseq tya pha @@ -427,6 +422,18 @@ pla tay rts + +.tests + ;; Format: + ;; - $ff-terminated list of C0XX addresses (0-F to read C08X, 80-8F to write C0XX). + ;; - quint: expected current $d17b and fe1f, then d17b in bank1, d17b in bank 2, and fe1f + !byte $8, $ff ; Read $C088 (RAM read, write protected) + !byte $55, $55, $55, $AA, $54 + !byte $ff + + nop ; Provide clean break after data when viewing disassembly + nop + nop .over ;; Success diff --git a/v0/index.md b/v0/index.md index 590b176..6ec0657 100644 --- a/v0/index.md +++ b/v0/index.md @@ -115,3 +115,7 @@ Read $C083 (read bank 2); byte should have been previously NOT been writable to ## E001D Read $C083 (read bank 2), but the check byte ($D17B) is an unknown value. + +## E001E + +We initialized $D17B in RAM bank 1 to $55, $D17B in RAM bank 2 to $AA, and $FE1F in RAM to $55. Then, we perform a testdata-driven sequence of LDA and STA to the $C08X range. Finally we (try to) increment $D17B and $FE1F. Then we test (a) the current live value in $D17B, (b) the current live value in $FE1F, (c) the RAM bank 1 value of $D17B, (d) the RAM bank 2 value of $D17B, and (e) the RAM value of $FE1F, to see whether they match expected values. $D17B is usually $53 in ROM, and $FE1F is usally $60.