From d9ca824b19b176e377851e10a00dd32a56ac4635 Mon Sep 17 00:00:00 2001 From: Zellyn Hunter Date: Sun, 2 Apr 2017 00:26:12 -0400 Subject: [PATCH] video: add text describing video mode comparisons --- audit/audit.dsk | Bin 143360 -> 143360 bytes audit/macros.asm | 12 ++++ audit/video.asm | 139 ++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 149 insertions(+), 2 deletions(-) diff --git a/audit/audit.dsk b/audit/audit.dsk index 9de3bf7a3aa6a361152cab8ee11c0cf91f125d0c..ab534f3b185e6ab6c444bd7c93a31206294c5ac2 100644 GIT binary patch delta 3730 zcma)8eM}qY8GkPZLur#?Ez8{I(p>4%P;e*{(?*wlWC@#SFK5T#~Z286W)6wQZyHm98Jt9>poiHUzE<&V{}s#aBpRQA00 zV$9b_EaZFM=l#9U^Lu{J^B(S9sq9^;9QbWTpT9p4ycCfb$4i6E$+N%raQ{Bf9q-}> zJmMKI=ktgyUTv+=%$@df=z{h}p#gl{_dVQqJluH?*Y3HBxWNm7=a^C0uCCBD z&IE1^K75T~0@9cFrGYhE5z)&RIrt#>Fc0M}BGlA`P+J`;`v`1ZN2sn1m3_7kA)%uKq1-4cI|++W2%*s& zD(eN?;qccuS`a%1b`4lHe#GX$ZfXj3H0g+41-k{jEe^!i`5}1Q=xAFTVt)vB2Ov5^ zi0uKpr)M_bvy9lQVEX~>uR&}Q>`+LDNJwBmgatV|I*M4fAEDXVWjKP^=fTz?jNXJ; zFWAe=dDubhn_%Z5WPTR0dcWUKi8|Sj`yCES)X6>`2!$w7Cwn?jQ$vY5*gf0yVd`Yx4$RI{rcU->ftD7^)XCa|x=xuo*}5RDadgzlelNJZJUe@haa2je z?6C@mQMg{AU6K^`n^Lu7SQ-Bs58Mo@#C5mN@u0BZ__%Z2=KcvE zKIQ&dxBI8v;XL$Kv_(WzDWgXQ*~j*s;U$*+osezjj($2|bAO{-_VW+*ihka?S~=GU zPBF;8Eb^CL;cHjNUg0DA#+ms`{d|Nms^kIQC=Uw&fHRFwt-NqhvlpthGQ;N1cWXAo z6K;gG;a)Mo%V;I}DsMPtWF!Z9qgqC0QsNC@v6vj<3*Ty%{Sk^O*yY}cd%Bw8(s6A zzgROqY;T1d8&+UX2+zQGC+u*qb%C=}ya+M+y!neHMqeq$AHCd1L9Y9kVG;1{l`lf& z;;W#MAr8W~DN69YC=T(IN*F;q#D4y|T^#1GSBRJS@T#u@F5zoDY}|RB?CtmS1@`d0 zd*Ca4&S%F6-0#{8dCOyba?gMPvPq%ZpTp3Egqf_8R8eeB$9g)WX0eirVX~Un$SR#t zQVDf$Od_K!;SptTkgg@>O`KE`YRXh*#EqoFZdnrg5qDdA>xTgfpca~ID6es2QrX=z;B zSnPJOlVWyWipNZ5JjHZ^c7b|;kbd?3lzZ}RqtLh;6rt>1VmsC7SS>q~Ts zkdlYaD#g(RMa+6SGD4ynOQ_fysVvS|?*Roz(>X&|aaxFDLt9k!?5=~hrDs+I@&69x zM$cyMGrh%|YxT6M6mPKh;69gEI#m0jFf}em)4KIyn5L$wE}B?Ny{BffP>Z2N)$EL@ z=sI4Q*GzQ`FKFgGp7`7JI4yMZ-J$u4!W6TUw=NaVQXC_ACCNBCH4gbsz7vnn6g|_# z6OXIZ@eh#zGwG!DRN|(Z!CCd)oSKTNmP=}Vy6&*cYpPjOOC@kN9XGQ;E;_Gf>Av{% z5dk8oN{mEW$N+s}V8ygD0{?VQk6CsqZ9;JB&seD9YBm8|{BPx4L;LSXcJ~lmf6BD=q{i2Jek7E-qpa3llkTT+wtjW+6c738L%dCZTT; z$1QNg6g(0gpB}f6mQBb>hw6`#`S?mbM;>SEpFC8Od7YGXLK>`pis7Z(^|hxcDLkj7 z?oMnIhxkAsN>fP@sYy?8oX{=yS9-#A@JW|<3~xwe>3PQzW0P0^t#< z0Fu*MthvHw8tYLq2b;^>yhT*NliLv`A>gzHnZVG2A}OroVj3Ag-aD5|%vgg$ezqt% z=~%;~Fx)UT>CDm$p*S%)eb*}D?J4@4vevvemr~}SL|~}J;5UgDU$S7DreZaj(-l)o zr*KrsScMidC$c0dw(dpFFwz-weV#NeO0p5$=ZS9gO1-6~<`uY@u`nEy%!cFT7UU)7 NnLg$j=32Fb`5z`OZr}g_ delta 2185 zcmZ8gTWr%-7(OOVQtr*vbuM)q6X-3yP?Tw7o3^2;lh_m<_K<1psXWkC(B@(gWlzn9 zLbDAcR8O0t3F!!mAQ?t&sRp#F7B_KP3nwwTh;&jVUMBIdWr3H8Rf7G;rWdd*`#azH z|KH#Lo!`NS)xn3=7f(}hfwFx!M!omWmtOYI<7|(YZSk_7df9{C%ZTNMzW;=Zv1q8q zs^Ch+ePW0`=7n2%uH{H{>tG+t2|rSUV>|7Xe`?cy6Vu2kRTF0RUhS+UhHa*nG>WDYTVZm3$^>zK)PQ7=1CwiJc>5Y2%Q{F!Dw6}cHtC`BDz=*li z-aZyC1Q)d#A(smwj}uiPq^bxxJp}dlBUFqL6p0`dD~=FovxObDUc?~efVU$|kjoY6 zcc}#R0@G_F$m5B{JRXAjVXr?z(D3kVd3c$iFhqqN1Vth$WD`WEJKmY=#(`i9`%BG~;j>Vra%F?D5cy%Vmh6nb}!G49)cR z8e(WhRShvTV~CH%Xl8lY5JNNl{T~==Xr^2SH6Vs&hKCI?H1k~iCJy%iU-Av`OTKc+ z2Tm{f#J`_aEbPrech)ByZfd$h?b|AxV0LXP1%y%N>#>GrYfP(LwJPU?&V~;?=~hmw z5m6!C#%a|eDy7@G$^kJP7tzCX3s96|d$!V~lI$ao{dOKcUFuKv;X?rcgC@-hCW^GY@P3 z4osNb{{*53A=zE=N6Ro;yeZBjkhg7s{bi8-c@QRjfN$^*@QlCQ;D@#u|61Fx`PmES z*uaS>4<__gpMg&J77jY#Tj5#Y+u%7;;@dgHz9`}wIlhUzYT=#SRV&}YMOQ*r7}rh? zHs-p>-u6bW!aRBeROR)M1tVbZTPkIp(Vjli@&{P^vx_Eo-Y+(Cn}d)?uT;4^z3aXXco zStafeB9)R2;&-0J<+5r0Eu{)_4(H|jMLCm@bxJtY?re~J1vy_(G7C7LO%?JFltN-r z&KvuDd*cXHkfkK4^dP4cWCE~M(7%ZDi`k-@)Nv+TfZ_(9)1y{bvkS0A(zKkM&*N)L z*KXizQ+PZ%d3#Q9tPB@AX^Vh2u1iYh1d2rzn* z_&T-0=v#!i1w>N9u8~@!rhLx zgN7(PFJFBS{?ru0xmG~}cnkr*OF)Vnoz?xb#hDgpNbxRI)IY{PU z7Yz-Ex^|C%EZfS-{oSeFIPjBM4Y2!VuudV)KMw*8fL7|eAGX*8Jq=zYr zjOBDul?qBWgA-CtZ*=v`3wiQUtp689P0QvAFXl;6669+n?hWFb@k?EoGm8@Zn8_%l W35D)fvmSDm+BZt=qpsB0sQ&>*!zzLR diff --git a/audit/macros.asm b/audit/macros.asm index c1aeca0..26ea7f9 100644 --- a/audit/macros.asm +++ b/audit/macros.asm @@ -1,6 +1,18 @@ ;;; Apple II audit routine macros. ;;; Copyright © 2016 Zellyn Hunter + ;; string/stringed drops a pointer to a string. + !macro string { + !word LASTSTRING + !set TEMP = * + * = LASTSTRING + } + !macro stringed { + !byte 0 + !set LASTSTRING=* + * = TEMP + } + !macro print { jsr LASTSTRING !set TEMP = * diff --git a/audit/video.asm b/audit/video.asm index 7fccca5..5ff9395 100644 --- a/audit/video.asm +++ b/audit/video.asm @@ -20,8 +20,23 @@ VIDEOTESTS jsr .first +;;; Main loop over test data. Quit when high addr of text to be printed is $ff. --- jsr RESETALL + jsr HOME + jsr .this + sta getch+1 + jsr .next + sta getch+2 + cmp #$ff + beq .done + jsr getch + + jsr YNESCSPACE + cmp #$9B + beq .done + + jsr .next jsr .load400aux jsr .load400 @@ -29,7 +44,8 @@ VIDEOTESTS jsr .load2000 ldx #0 --- + +-- ;; Loop back and forth between modes as "space" is pressed. jsr .setswitches txa eor #1 @@ -247,51 +263,170 @@ VIDEOTESTS .md_page2 = $40 .md_80store = $80 +foo !text "FOOBAR",$8D,$0 + .testdata ;; Aux lores even/odd, lores even/odd, aux hires even/odd, hires even/odd, mode 1, mode 2 ;; 40COL and 80COL Text, inverse space. + +string + !text "40-COL AND 80-COL TEXT INVERSE SPACES:",$8D + !text "ALL WHITE, WITH 1/80 SHIFT LEFT" + +stringed !byte $20, $20, $20, $20, 0, 0, 0, 0, .md_text, .md_text | .md_80col ;; LORES patterns that correspond to HIRES patterns. + +string + !text "LORES VIOLET, HIRES VIOLET:SAME" + +stringed !byte 0, 0, $33, $33, 0, 0, $55, $2a, 0, .md_hires ; purple + +string + !text "LORES GREEN, HIRES GREEN:SAME" + +stringed !byte 0, 0, $cc, $cc, 0, 0, $2a, $55, 0, .md_hires ; green + +string + !text "LORES LIGHT BLUE, HIRES LIGHT BLUE:SAME" + +stringed !byte 0, 0, $66, $66, 0, 0, $d5, $aa, 0, .md_hires ; light blue + +string + !text "LORES ORANGE, HIRES ORANGE:LEFT",$8D + !text "EDGE SHIFTS RIGHT A COUPLE OF PIXELS" + +stringed !byte 0, 0, $99, $99, 0, 0, $aa, $d5, 0, .md_hires ; orange - left column should budge ;; LORES patterns and corresponding DBL HIRES patterns. + +string + !text "LORES AND DBL HIRES DARK MAGENTA:SHIFT",$8D + !text "LEFT" + +stringed !byte 0, 0, $11, $11, $88, $22, $11, $44, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES DARK BLUE:SHIFT LEFT" + +stringed !byte 0, 0, $22, $22, $11, $44, $22, $88, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES VIOLET:SHIFT LEFT" + +stringed !byte 0, 0, $33, $33, $99, $66, $33, $cc, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES DARK BLUEGREEN:",$8D + !text "SHIFT LEFT" + +stringed !byte 0, 0, $44, $44, $22, $88, $44, $11, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES GRAY $5:",$8D + !text "SHIFT LEFT" + +stringed !byte 0, 0, $55, $55, $aa, $aa, $55, $55, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES BLUE:",$8D + !text "SHIFT LEFT" + +stringed !byte 0, 0, $66, $66, $33, $cc, $66, $99, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES LIGHT BLUE:",$8D + !text "SHIFT LEFT" + +stringed !byte 0, 0, $77, $77, $bb, $ee, $77, $dd, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES DARK BROWN:",$8D + !text "SHIFT LEFT" + +stringed !byte 0, 0, $88, $88, $44, $11, $88, $22, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES ORANGE:",$8D + !text "SHIFT LEFT" + +stringed !byte 0, 0, $99, $99, $cc, $33, $99, $66, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES GRAY $A:",$8D + !text "SHIFT LEFT" + +stringed !byte 0, 0, $aa, $aa, $55, $55, $aa, $aa, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES LIGHT MAGENTA:",$8D + !text "SHIFT LEFT" + +stringed !byte 0, 0, $bb, $bb, $dd, $77, $bb, $ee, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES GREEN:",$8D + !text "SHIFT LEFT" + +stringed !byte 0, 0, $cc, $cc, $66, $99, $cc, $33, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES LIGHT BROWN:",$8D + !text "SHIFT LEFT" + +stringed !byte 0, 0, $dd, $dd, $ee, $bb, $dd, $77, 0, .md_hires | .md_80col | .md_an3off + +string + !text "LORES AND DBL HIRES LIGHT BLUEGREEN:",$8D + !text "SHIFT LEFT" + +stringed !byte 0, 0, $ee, $ee, $77, $dd, $ee, $bb, 0, .md_hires | .md_80col | .md_an3off ;; DBL LORES patterns and corresponding DBL HIRES patterns. + +string + !text "DBL LORES AND DBL HIRES DARK MAGENTA:",$8D + !text "SAME" + +stringed !byte $88, $88, $11, $11, $88, $22, $11, $44, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES DARK BLUE:SAME" + +stringed !byte $11, $11, $22, $22, $11, $44, $22, $88, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES VIOLET:SAME" + +stringed !byte $99, $99, $33, $33, $99, $66, $33, $cc, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES DARK BLUEGREEN:",$8D + !text "SAME" + +stringed !byte $22, $22, $44, $44, $22, $88, $44, $11, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES GRAY $5:SAME" + +stringed !byte $aa, $aa, $55, $55, $aa, $aa, $55, $55, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES BLUE:SAME" + +stringed !byte $33, $33, $66, $66, $33, $cc, $66, $99, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES LIGHT BLUE:SAME" + +stringed !byte $bb, $bb, $77, $77, $bb, $ee, $77, $dd, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES DARK BROWN:SAME" + +stringed !byte $44, $44, $88, $88, $44, $11, $88, $22, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES ORANGE:SAME" + +stringed !byte $cc, $cc, $99, $99, $cc, $33, $99, $66, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES GRAY $A:SAME" + +stringed !byte $55, $55, $aa, $aa, $55, $55, $aa, $aa, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES LIGHT MAGENTA:",$8D + !text "SAME" + +stringed !byte $dd, $dd, $bb, $bb, $dd, $77, $bb, $ee, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES GREEN:SAME" + +stringed !byte $66, $66, $cc, $cc, $66, $99, $cc, $33, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES LIGHT BROWN:SAME" + +stringed !byte $ee, $ee, $dd, $dd, $ee, $bb, $dd, $77, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off + +string + !text "DBL LORES AND DBL HIRES LIGHT BLUEGREEN:",$8D + !text "SAME" + +stringed !byte $77, $77, $ee, $ee, $77, $dd, $ee, $bb, .md_80col | .md_an3off, .md_hires | .md_80col | .md_an3off - !byte $ff + !byte $ff, $ff } ;video