From 3c5242beb50d42a0fde89eed2fa381103eb96762 Mon Sep 17 00:00:00 2001 From: Zellyn Hunter Date: Wed, 14 Dec 2016 22:57:37 -0500 Subject: [PATCH] audit: add langcard tests; fix error from split --- audit/audit.asm | 3 ++ audit/audit.dsk | Bin 143360 -> 143360 bytes audit/detect.asm | 2 -- audit/langcard.asm | 83 ++++++++++++++++++++++++++++++++++++++++----- 4 files changed, 78 insertions(+), 10 deletions(-) diff --git a/audit/audit.asm b/audit/audit.asm index ecfad7c..93a662c 100644 --- a/audit/audit.asm +++ b/audit/audit.asm @@ -41,6 +41,8 @@ getch2 lda $FEED jmp getch2 + rts + !src "technote2.asm" + ; !if * != STRINGS { ; !error "Expected STRINGS to be ", * ; } @@ -48,3 +50,4 @@ getch2 lda $FEED !if * > STRINGS { !error "End of compilation passed STRINGS:", * } + diff --git a/audit/audit.dsk b/audit/audit.dsk index 4c0afd96460a9933a2a5855c14258cd95ac6e29a..7138489090e852be1b1c404c677df1358424afc9 100644 GIT binary patch delta 1313 zcmZvbTSyd97{_Pb95-uQwF_HD?t_F$gj-Z52tpSsMk>swUTWq%R6=G@R6fjB7)G8P z+b}O(CavH|6T8}j3DT$u9dy^(vMhSY-j+Z)6j32r-?+M-F2iBq`+c|bef&>g+!Yvi zg+zy{$>bz%kbPHVU%PBvG)X3&M@9q6@Q{@pVLn=-c}NbA+$5JXje2BdkaZl9F3VKZ zHdr1~%u(hh`?01b+ml0_(@t5SZDSr%!BO^}RC1=FA?koK=Qu{NZ{jEO(-bX}tsym> zhutCfc+*XO!52(Tnd;9X>|++p?32*tQZ$e zqdG>**k)P|i}}DichL?&UwO2NEV9j0vsH7GRed~G-DC@A!xHT_a3-eN64=Y6CR<-7 z8)T_oKI}Sc2;;a38G?nI;XjI7;Qto4qC^f6a6Q5rdLZIk=s_C3jmT6@TAR>&2Z5va zuI+QzBepso2gH`wh`O*4a7<*A@p#)(Q3Y)Mh+D4;eL2&bQ`)J3G8P6P**oRxF93+I zqiZ)%T_ehyden%_l#t^^orX+@m2TWbRw_{;0CEbvG?gu*BFmr)ET{BUp-$@rDS-8p z0B(Rwk4Ku2<%K~a%^*D(CDMW{*B+QA(u!E2QEMh*m}mq{>6wyJNE{$uV})xN5>7<+wT)nbE*U z-hBY)OhNq5DWJQLfzpW{dIIG zIx-g3``?Yu!@l9+k+H$&`q)bvtg481qU~vp&fty;ziMZ7_vl=}Tw16{@9&Ea{nY{J k%aO<*O#%Je6ySeq!u|fNxp?l{Hg0$Lofj(~Ryz8A12G}3E&u=k delta 1188 zcmYjPU1%It6rP#gnf=jpceRyCvvh|fNE$>ppmj~ODfl4D_*2xpRAhE$9vT80eGrs9 z>{=aIup^5DN_;3Wu!S3(GI7a63!xJq>fSX2H?$9hJhR*=v*!{ zeBXD^J@=gN6zbtZJ#2AwenBFj!RE5X0<|P{>^#3VyPmaexzmLHJJXeZ=l%MJY z!#-%XWE2OdeT>+zLay{Iih);rEbasE=tKGc(t`^=(F+NdUcxaj<74qAnDs%kEkl}I z^O=tWy0E>E#~@Qm;8Q^JDfkNb!4Lbu0a*sibSekTc*vlcrz&qpm$@^f{ErViLhk;= z3ps-1QRe5ix3|0a7|F9Uq@urehE;J;m5fBBHYS@Cau@}3X2BLm2)g40eCVzdRB(W3 zBPOe8oXIIhwg2fSoGeI-PWIYK+f3R~P<)2}CNVy`E?=jpZ>jlpxrlZ}nhGzBUSF5z zDXNGbU99wIIruK2-t<#R zAnD5<(HpmXQVoA(87H^42!&5*+yX_|4G!=07}VZEw=+VjTMCHRvSchH1ro=1!at{lRKBZs zl?ikg&ySdb?NNKl%GEItl79EU*^5I>Y*0Ofjqfr7qA zEUr7Wg7`z@QT)(y6efjuW@o%6^^P3P#I7Waobk3)U3FY-vijxo;^6)AxOTQYp-ukofj4qpR}dSwrqbWn&~8S` z?Yp^u++4@a?YX(OD?!U*cnPjpk=HGLdSH=54!mJSGtCu#dV-*va4lc@jilPlH0?ze zSs<-Vkv9k*G|E#YwhCG6PdHd2cU+yqETDv!8yV@XUd|eNB$;jZbP98Dz~ZL8@CP0- z2?Z;XX%0jzlHhixIl)h_puZP_WQ>;I)4Q(u75UG%-D12Y+-N|C!au36hK%oKjv41? UhK(~ytr8zwV=m2Jou$|Q1%{?5kN^Mx diff --git a/audit/detect.asm b/audit/detect.asm index a244163..b07e411 100644 --- a/audit/detect.asm +++ b/audit/detect.asm @@ -91,5 +91,3 @@ +printed .done } ;detect - - !src "technote2.asm" diff --git a/audit/langcard.asm b/audit/langcard.asm index 32bef93..d799f8b 100644 --- a/audit/langcard.asm +++ b/audit/langcard.asm @@ -26,7 +26,7 @@ +prerr $0004 ;; E0004: We tried to put the language card into read RAM, write RAM, but failed to write. !text "CANNOT WRITE TO LC RAM" +prerred - beq .done + beq .done2 + lda $C083 ; Read and write Second 4K bank lda $C083 lda #$AA @@ -36,29 +36,96 @@ +prerr $0005 ;; E0005: We tried to put the language card into read bank 2, write bank 2, but failed to write. !text "CANNOT WRITE TO LC BANK 2 RAM" +prerred - beq .done + beq .done2 + + ;; Test that we're reading the right things + + lda $C088 ; RAM read, bank 1 lda $D17B cmp #$55 - beq +++ + beq ++ cmp #$AA bne + +prerr $0006 ;; E0006: Read $C088 (read bank 1), but the language card is still reading bank 2. - !text "$C088: BANK 1 ACTIVE" + !text "$C088: BANK 2 ACTIVE" +prerred -.done2 beq .done +.done2 beq .done3 + cmp #$53 bne + +prerr $0007 ;; E0007: Read $C088 (read bank 1), but the language card is reading ROM. !text "$C088: ROM ACTIVE" +prerred - beq .done + beq .done3 + +prerr $0007 ;; E0007: Read $C088 (read bank 1), but the check byte ($D17B) is an unknown value. !text "$C088: UNKNOWN BYTE" +prerred + beq .done3 +++ dec $D17B + eor $D17B + beq + + +prerr $0008 ;; E0008: Read $C088 (read bank 1, write-protected), but successfully wrote byte ($D17B). + !text "$C088: ALLOWED WRITE" + +prerred + beq .done3 + ++ lda $C080 ; RAM read, bank 2 + lda $D17B + cmp #$AA + beq ++ + cmp #$55 + bne + + +prerr $0009 ;; E0009: Read $C080 (read bank 2), but the language card is still reading bank 1. + !text "$C080: BANK 1 ACTIVE" + +prerred + beq .done3 ++ cmp #$53 + bne + + +prerr $000A ;; E000A: Read $C080 (read bank 2), but the language card is reading ROM. + !text "$C080: ROM ACTIVE" + +prerred + beq .done3 ++ +prerr $000B ;; E000B: Read $C080 (read bank 2), but the check byte ($D17B) is an unknown value. + !text "$C080: UNKNOWN BYTE" + +prerred +.done3 beq .done +++ dec $D17B + eor $D17B + beq + + +prerr $000C ;; E000C: Read $C080 (read bank 2, write-protected), but successfully wrote byte ($D17B). + !text "$C080: ALLOWED WRITE" + +prerred beq .done -+++ - ;; Test + ++ lda $C081 ; ROM read + lda $D17B + cmp #$53 + beq ++ + cmp #$55 + bne + + +prerr $000D ;; E000D: Read $C081 (read ROM), but the language card is still reading bank 1. + !text "$C081: BANK 1 ACTIVE" + +prerred + beq .done ++ cmp #$AA + bne + + +prerr $000E ;; E000E: Read $C081 (read ROM), but the language card is reading bank 2. + !text "$C081: BANK 1 ACTIVE" + +prerred + beq .done ++ +prerr $000F ;; E000F: Read $C081 (read ROM), but the check byte ($D17B) is an unknown value. + !text "$C081: UNKNOWN BYTE" + +prerred + beq .done +++ dec $D17B + eor $D17B + beq + + +prerr $0010 ;; E0010: Read $C081 (read ROM), but successfully modified byte ($D17B). + !text "$C081: ALLOWED WRITE" + +prerred + beq .done + ++ + ;; Success +print !text "LANGUAGE CARD TESTS SUCCEEDED",$8D