@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu  } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED736 FREE SECTORS COPYING---D1:DIRECK.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 138ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u0j|C55CPICNCNPIVOFFPIXFDIRLCFNAMECCCCTLETIMODCCONV8TXCDELDEBRBOCC1PIBAYFXT}DLTBBLOADMOVTTITBARDIAY@@B7a@AA  ( D @U} @  @B@@@@B6VB9@ @ ,==BB7aV}@@@@ !Af"AF#@$@%@&B@'()*BhW}+,,,-i''.dd/(0b;;1@2@3A㩠X}젛d AP A@ כ# - A # AK śLA 6-?:C:,Y},!6-@:7,,'6.A67<%,.7$%<$%,V -%7<,0  `67<%,..RGB ěF A Z} -')+ /F6-?:<@<<<,W )))))+@$5AY;"MA#@d[}W A06-?:C:,,.6-?:BD<<<,.6-?:Bc<,?  6-?:<<%<@9,$?6-?:<<%@\} &'<, ٛK@4#6-?:C:,<$+!,,/@w36'9'?K6-?:C:,,$ Λ% AF]}6-6-6-%6-4 A@ *(}Enter -, ubdir, uit46.D1:5 )"@+ 2A)@H^}51!@H* @X'67<,.>:,1 A@p@A@0;AR"(}Enter subdir./@_};ARQ6-B:,%6.'67<%,.*.RGB,7Q(}Reading directory... 3*AA] -`}(7<@,367$%<$%,.7<,;6-%C6-%O"@W6-%]6- A@?")(}Ϡa} Ӡġ1-5 ? A@ !-@!( PIX|"h 6-6-6-6-*6-?:<<<,26.C6b}7@e,.L67,.^AdAUh ACPg ԛh* )"AU AD* ABr""@E6-6c}$+!,"6-|%"@a6-+ @,%6-/"@C6-6$+!,/6-6@$+,3"@B!6-$+ @1d},36-@$+,"@'A@"@2 AG"@e AFP"@h AEe}#1%%# @eAC 96-?:<<<,6-%"6-%*6-%96-?:<<<, 6-6-6- ABf}ӛZ0((}Use , to (de)select picsZ(%: New directory : Start show41(": Show all picg}s : Set delay ()4$/ũԠÛ0! 1&!@2AD :- 6-%67<,.>:,!-&*(h}-$D -%7<,0>:, N- 6-&-67<@e,.7%<@e,X -&( $ ٛK AEi}ARK(-}Enter inter-pic delay in seconds(0=manual))@AR& ACP)$ Λg+ j}A @1AA=ARK%@qS%g%@#@|%@%:($ORUHk}E by clay halliwellFAXAAjA @|A`@ @4$) ̛*Q l}-67<,.>:&, %6-/@2?-@0E,Q/@4  AG6-$[כ\g Bm}+6-?:<B@ ԍ|}ЎЌƩ ԍЩhhh@F-?:ColorSquashView v0.71}Compressed ColorView RGB file viewer 63(+(pd) 1993 LonerSoft by Clay Halliwell6$ қ u (}AdAU}!6.:67<%@,.*.RGBD A1 X( Directory of u@@& O(-@@'@}A(7@<@,E O A10 7@('(Press any key...4)@7$ &6-F:Ad,&"}AUA2 $Ġ›| A@P6-@6@@J-@@W)@[ }_|6-?:<@<@<<,5)@$-@@1)@5 G +@$AY+"@} =A#@dG A@0E6-?:C:,,!A@3A @EA@Q,6-?:}<<%@<@9,0Q6-?:<<%@ &'@<,YAY@4<6-?:BD<@<@<A,M6-?:}Bc<,Y6-@$ ԛ]];@D,;@a,;@9,;A,;@@,;A,;@}@,;@0,H66.,h hh`hhhhBhEhDhIhH V`?6.D:H6-C:,F16.'hhhhhhh֑}`:6-C:,F6-@GG6.=h01eeAO ݩ֩N`7"@@}K+6-C:,76-Bk-@"C6-?: ԍЎЌƩ ԍЩhhh@F))6-?::,1 A@p@A@0;AR"(}Enter subdir./@};ARQ6-B:,%6.'67<%,.*.RGB,7Q(}Reading directory... 3*AA] -}(7<@,367$%<$%,.7<,;6-%C6-%O"@W6-%]6- A@?")(}Ϡ} Ӡġ1-5 ? A@ !-@!( PIX|"h 6-6-6-6-*6-?:<<<,26.C6}7@e,.L67,.^AdAUh ACPg ԛh* )"AU AD* ABr""@E6-6}$+!,"6-|%"@a6-+ @,%6-/"@C6-6$+!,/6-6@$+,3"@B!6-$+ @1},36-@$+,"@'A@"@2 AG"@e AFP"@h AE}#1%%# @eAC 96-?:<<<,6-%"6-%*6-%96-?:<<<, 6-6-6- AB}ӛZ0((}Use , to (de)select picsZ(%: New directory : Start show41(": Show all pic}s : Set delay ()4$/ũԠÛ0! 1&!@2AD :- 6-%67<,.>:,!-&*(}-$D -%7<,0>:, N- 6-&-67<@e,.7%<@e,X -&( $ ٛK AE}ARK(-}Enter inter-pic delay in seconds(0=manual))@AR& ACP)$ Λg+ }A @1AA=ARK%@qS%g%@#@|%@%:($ORUH}E by clay halliwellFAXAAjA @|A`@ @4$) ̛*Q }-67<,.>:&, %6-/@2?-@0E,Q/@4  AG6-$[כ\g B}+6-?:<B@ ԍ}ЎЌƩ ԍЩhhh@F-?:: Selects and de-selects pictures. Pictures are displayed in }the order they're selected. De-selecting and re-selecting a picture will move it to the end of the display queue. : Starts the slideshow. When all selected pictures have been shown, the cycle repeats until aborted. CSView automaticall}y selects the correct display mode (9 or 15) and supports an optional 40-character title, centered underneath the picture. } Commands during slideshow: OPTION: Advance/Unpause SELECT: Pause START : Abort Joystick b}utton: Pause/Advance F : Freeze interlace. I threw this in just for fun, as it lets you see what's really goin}g on in a ColorView picture. Press any other key to cancel. : Returns to the main menu. ll pix: Selects} all pictures sequentially, regardless of prior selections, and starts the show. elay: Allows you to define the dela}y (in seconds) between pictures. A delay of 0 seconds activates manual advance.QUITTING In the event that you want }to use your computer for something else, and consider the RESET key gauche, you may simply select uit from the main menu t }o exit to Basic.USER FEEDBACK If you (yes, YOU), ever put CSView to any sort of interesting use (group presentation, } in-store demo, etc...), I would love to hear about it. I would also like to hear any criticisms, suggestions, comments or b }ug reports concerning CSView. If there's a feature you'd like added, let me know!SHAREWARE...THE WAVE OF THE FUTURE  } CSView is shareware. If you find this program to be a useful addition to your software library, I strongly urge you to send } in the paltry $5 registration fee. It's people who support shareware developers that are keeping the 8-bit Atari alive. } Send check or money order to: Clay Halliwell 407 S. 2nd Street Clinton, MO 64735-2107it Atari alive. jBCDINDITNAMEFBMODCONV8TITDOUTDOUSBSEBYBLOADMOV} }㩠젛d AP A0 ΛR A}0R(@Enter load file (no extender; RETURNfor directory; Q to quit).&( A2&@RA R*("}Enter new input drive/subdir.7@H6-B:,%@R A#"@ A1# A(@4}(( A ] 6.6.67<%B:,,.) A3 A@Q6-?:<Bh:B:,,>:,P6*6-?:BD<@$}<@<A,6AN@ A0$ AVD( DISK ERROR #F:A,N AE`l6-B01%}&B:,.(COMPRESSION COMPLETE!l(A&P:A$', % reduction (& bytes saved).+(Press any key...()&}@+$ ԛ;@D,;@a,;@9,;A,;@@,;A,;@@,;@0,;@0'},;@,;@,;A,[66.,h hh`hhhhBhEhDhIhH V`@6.BGRI6.D:R6.D:[6-C:,(}R16.'hhhhhhh֑`:6-C:,F6-@R6-@GG6.=h01eeA)}O ݩ֩N` +@@1AYS6-F:@,%F:@,$AVr@@*}KB2VG-@"C6-?:COLORVIEWSQUASHVersion 1.xColorView RGB File Concatenator/Compressor for Atari 8-bit computersCopyright (c) 1993 LonerS!3}oftby Clay HalliwellMarch 1993INTRODUCTION CVSquash is the next logical step in the evolution of J.D Potter's re!4}volutionary 4096-color ColorView mode. It's a groundbreaking development, but to date its implementation has suffered from t!5}wo major flaws. First, ColorView files need not one, but three files per picture (and that takes a LOT of disk space!). Sec!6}ond, there has been no way for the computer to determine the correct mode in which to display any given screen. CVSquash eli!7}minates these problems, AND significantly reduces the disk space required to store ColorView pictures. Enjoy!SYSTEM REQUI!8}REMENTS/SUPPORT -- Any 8-bit Atari (800/XL/XE) -- 48k RAM -- Atari DOS 2.x or compatible (MyDOS, etc...) SpartaDO!9}S, DOS-XE [untested] -- 1 disk drive minimum (any density) Up to 9 logical drives -- Atari BASICUSING CVSquash !:} As soon as CVSquash is loaded and running, you will be prompted to enter the name of a ColorView picture to squash. At t!;}his point, you may also press Q to quit to Basic, RETURN to obtain a directory of the ColorView pictures in the current drive!<}/subdirectory, or BACKSPACE to change the current drive/subdirectory. When changing the current drive/subdirectory, be !=}sure that's ALL you enter. If you also enter a filename before hitting RETURN, CVSquash will assume it to be part of the dri!>}vespec. SpartaDOS, MyDOS, and DOS-XE provide subdirectory support. The correct subdirectory format in MyDOS is: !?} D2:COLRVIEW: or D:ANMTSURI:ANIME:XRATED: etc...Subdirectory names may be up to 30 characters long.COM!@}PRESSING Once you've given CVSquash a valid filename, it will load all three color separations into RAM. Once this is !A}done, you may choose what to do as follows: OPTION: Abort picture SELECT: Toggle between modes 9 and 15!B} START : Proceed with conversionTITLES Another advantage to CVSquash is that it allows the addition of a ti!C}tle to your pictures. This title may be up to 40 characters long, and is automatically centered by CSView. When titlin!D}g pictures, I try to conform to the following conventions: If the image is of a famous person or place (eg-- Joe Stracz!E}ynski, Wall Drug), make that the title. If there is superimposed text in the image itself, it has probably been rendere!F}d illegible due to the Atari's (relatively) low resolution. When converting a GIF to ColorView format, try to zoom in on the!G}se text lines and write down what they say before doing the final conversion. Usually it will be a BBS number or copyright n!H}otice, or both.SAVING Your are now ready to squash and save. CVSquash defaults to the filename and directory the im!I}age was originally loaded from, but both may be changed. Again, to change the drive/subdirectory, simply press BACKSPACE and!J} enter your new choice. Do not enter an extension. ".RGB" will be added automatically. As CVSquash compresses your pi!K}cture, it indicates its progress via a vertical line scanning across the screen. Upon completion, you will, for your edifica!L}tion, be given the compression percentage and number of bytes saved over the original image. If a disk error should occur, y!M}ou will be notified.FORMAT DESCRIPTIONExtender: *.RGBHeader:Field Contents Format-------------------------!N}------------i.d. "RGB" ASCIIversion# "1" ASCIItitle len. 0-40 binarytitle anything i!O}nternal char.mode 9/15 binarywidth 1-80 binaryheight 1-192 binarycompression 1 !P} binaryImage Data:(all data is in nybbles (4-bit units))Control: xnnn x=1 literal data x=0 repeat data n!Q}nn=1-7 count value (+1 if repeat data) nnn=0 second count nybbleCount2 : nnnn nnnn=1-15 + 8 count value (+1 if repeat !R}data)Red : nnnnGreen : nnnnBlue : nnnn[next Control nybble if repeat data, N number of RGB clusters if literal da!S}ta]ABOUT THE COMPRESSION FORMAT When I was trying to decide how to go about compressing ColorView files, I had to ta!T}ke a number of factors into consideration. An ARC- or GIF-style routine was out due to speed considerations...who wants to w!U}ait a couple of minutes for each picture to decompress? (plus such a routine was completely out of the realm of my programmi!V}ng skills...) Instead, I opted for a Koala-style algorithm that shrinks areas of identical consecutive pixels. O!W}perating at the byte level, though, wouldn't yield much compression in highly detailed screens. So I scanned at the pixel le!X}vel of the most common ColorView mode-- mode 9. I briefly considered compressing each screen separately, but realized t!Y}hat the repeat/literal areas on each color separation would be nearly the same. Thus, CVSquash treats each ColorView pixel a!Z}s a unit, saving on redundant control codes. In mode 9 the vertical resolution is much higher than the horizontal resol![}ution, so repeat sequences are much more likely to occur in the vertical axis. Therefore, CVSquash scans top-to-bottom, left!\}-to-right. The two-tier count value scheme was implemented so that highly-detailed pictures with frequent occurences of!]} tiny repeat areas wouldn't bloat the final file size, while allowing for larger count values on large solid areas. Thanks t!^}o this arrangement, CVSquash saves space on a repeat sequence of as few as two pixels (N R G B (two bytes) vs. R G B R G B (!_}three bytes)), but still manages to achieve compressions of over 80% on certain screens.CONTACTING THE AUTHOR If you!`}'d like to get in touch with me, I can be reached on GEnie at E.HALLIWELL, or leave e-mail to The Loner at PAUGS (602-278-850!a}5), owned and operated by nwPAC, the Northwest Phoenix Atari Connection--dedicated solely to the 8-bit Atari!SHAREWARE...T!b}HE WAVE OF THE FUTURE CVSquash is shareware. If you find this program to be a useful addition to your software library!c}, I strongly urge you to send in the paltry $5 registration fee. It's people who support shareware developers that are keepi!d}ng the 8-bit Atari alive. Send check or money order to: Clay Halliwell 407 S. 2nd Street Clinton, MO 6!e}4735-2107it Atari alive. Send check or money order to: Clay Halliwell 407 S. 2nd Street Clinton, MO 6 1000 ; DISP_RGB1010 ; by Clay Halliwell1020 ; -----------------1030 ; USR(16384,mode)1040 ;1050 ; System Equates1060 SE%g}TVBV=$E45C1070 XITVBV=$E4621080 WSYNC =$D40A1090 HPOS0 =$D0001100 HPOS1 =$D0011110 SIZEP0=$D0081120 SIZEP1=$D0091130 G%q}(B%DOS SYSB*)DUP SYSB+SAUTORUN SYSB.~COMPRESSSRCBCSVBETA B+CSVIEW BCSVIEW DOCB#CVSQUASH B42CVSQUASHDOCBfDISPRGB SRCBEXPAND SRCRAFP0=$D00D1140 GRAFP1=$D00E1150 COLPF0=$D0161160 COLPF1=$D0171170 COLPF2=$D0181180 COLBK =$D01A1190 PRIOR =$D01B1200 %r}KBCODE=$D2091210 IRQEN =$D20E1220 NMIEN =$D40E1230 VDSLST=$02001240 PCOLR0=$02C01250 PCOLR1=$02C11260 POKMSK=$00101270%s} ;1280 ; Variables1290 PAGE =2031300 LINES =2041310 MODE =2051320 COUNT =2061330 ;1340 ; Constants1350 DLIST =32822%t}1360 LMS1 =328271370 LMS2 =329231380 ;1390 *=$40001400 ;1410 ; INIT VBI1420 ;1430 PLA1440 PLA1450 PLA1460 S%u}TA MODE1470 ;1480 LDY #VBI&2551490 LDX #VBI/2561500 LDA #71510 JSR SETVBV1520 ;1530 ; INIT DLI1540 ;1550 LDA MO%v}DE1560 CMP #151570 BNE MODE91580 LDA #DLI2&2551590 STA VDSLST1600 LDA #DLI2/2561610 STA VDSLST+11620 LDA #6516%w}30 JMP SETUP1640 MODE91650 LDA #DLI&2551660 STA VDSLST1670 LDA #DLI/2561680 STA VDSLST+11690 LDA #1921700 SETUP%x}1710 STA COUNT1720 STA LINES1730 LDA #0 ; disable IRQs1740 STA IRQEN1750 STA POKMSK1760 LDA #192 ; e%y}nable DLIs1770 STA NMIEN1780 ;1790 LDA #48 ; mod disp list1800 STA DLIST1810 LDA #2401820 STA DLIST+21830 %z} LDX #21840 MODLOOP1850 LDA DLDATA,X1860 STA DLIST+199,X1870 DEX1880 BPL MODLOOP1890 ;1900 LDA #0 ; setup%{} p/m1910 STA PCOLR01920 STA PCOLR11930 LDA #2551940 STA GRAFP01950 STA GRAFP11960 STA SIZEP01970 STA SIZEP1198%|}0 LDA #161990 STA HPOS02000 LDA #2082010 STA HPOS12020 RTS2030 ;2040 DLDATA2050 .BYTE $01,$50,$7F2060 ;2070 VB%}}I2080 LDA KBCODE2090 CMP #562100 BEQ DONE2110 LDX PAGE2120 DEX2130 BPL FLIP2140 LDX #22150 FLIP2160 STX PAGE%~}2170 LDA PADR1,X2180 STA LMS12190 LDA PADR2,X2200 STA LMS22210 DONE2220 LDA COUNT2230 STA LINES2240 JMP XITVBV%}2250 ;2260 PADR12270 .BYTE $81,$61,$412280 PADR22290 .BYTE $90,$70,$502300 ;2310 DLI2320 PHA2330 TXA2340 PHA2%}350 LDX PAGE2360 LOOP92370 LDA COLTAB9,X2380 STA WSYNC2390 STA COLBK2400 NEXTLINE2410 DEX2420 BPL DECLINE2430 %}LDX #22440 DECLINE2450 DEC LINES2460 BNE LOOP92470 LDA #0 ; text line2480 STA WSYNC2490 STA PRIOR2500 ST%}A COLBK2510 STA COLPF22520 LDA #142530 STA COLPF12540 ;2550 PLA2560 TAX2570 PLA2580 RTI2590 ;2600 ; Color Ta%}ble2610 COLTAB92620 .BYTE 48,192,1122630 ;2640 DLI22650 PHA2660 TXA2670 PHA2680 TYA2690 PHA2700 LDA PAGE271%}0 BEQ RED2720 CMP #12730 BEQ GREEN2740 ;2750 BLUE2760 LDA #1162770 LDX #1222780 LDY #1262790 STA WSYNC2800 S%}TA COLPF02810 STX COLPF12820 STY COLPF22830 ;2840 GREEN2850 LDA #1962860 LDX #2022870 LDY #2062880 STA WSYNC28%}90 STA COLPF02900 STX COLPF12910 STY COLPF22920 ;2930 RED2940 LDA #522950 LDX #582960 LDY #622970 STA WSYNC29%}80 STA COLPF02990 STX COLPF13000 STY COLPF23010 ;3020 DEC LINES3030 BNE BLUE3040 ;3050 LDA #0 ; text lin%}e3060 STA WSYNC3070 STA COLPF23080 LDA #143090 STA COLPF13100 ;3110 PLA3120 TAY3130 PLA3140 TAX3150 PLA31%}60 RTISTA WSYNC3070 STA COLPF23080 LDA #143090 STA COLPF13100 ;3110 PLA3120 TAY3130 PLA3140 TAX3150 PLA31$1000 ; RGB_EXPAND1010 ; by Clay Halliwell1020 ; -----------------1030 ; USR(addr,indev#,width,height)1040 ;1050 ; O.S. E)}QUATES1060 ICCOM=$03421070 ICBAL=$03441080 ICBAH=$03451090 ICBLL=$03481100 ICBLH=$03491110 CIOV =$E4561120 FR0 =$00D4)}1130 SAVMSC=$581140 ;1150 GETCHR=$071160 BUFFER=$06001170 ;1180 ; VARIABLES1190 INDEV=2181200 COUNT=2191210 SNDEX=22)}01220 INDEX=2211230 XCOR =2221240 YCOR =2231250 BYTE =2241260 NSTAT=2251270 TYPE =2261280 STACK=2271290 ADDR =228 )} ; 2 bytes1300 SCADDR=230 ; "1310 WIDE =2321320 HIGH =2331330 PIX =234 ; 3 bytes1340 ;1350 *=$5F50136)}0 ;1370 PLA1380 PLA1390 PLA1400 ASL A1410 ASL A1420 ASL A1430 ASL A1440 STA INDEV1450 PLA1460 PLA1470 S)}TA WIDE1480 PLA1490 PLA1500 STA HIGH1510 ;1520 LDA #01530 STA XCOR1540 STA YCOR1550 STA NSTAT1560 STA SNDEX)}1570 STA INDEX1580 ;1590 LDA #$50 ; screen address1600 STA ADDR1610 STA SCADDR1620 LDA #$411630 STA ADDR+1)}1640 ;1650 TSX1660 STX STACK ; save RTS addr1670 ;1680 MAINLOOP1690 JSR GETCOUNT1700 LDA TYPE1710 BNE LITERA)}L1720 JSR GETRGB1730 REPDATA1740 JSR PLOTRGB1750 DEC COUNT1760 BPL REPDATA1770 JMP MAINLOOP1780 ;1790 LITERAL18)}00 JSR GETRGB1810 JSR PLOTRGB1820 DEC COUNT1830 BNE LITERAL1840 JMP MAINLOOP1850 ;1860 PLOTRGB1870 LDA PIX1880 )} JSR PLOT1890 LDA PIX+11900 JSR PLOT1910 LDA PIX+21920 JSR PLOT1930 JSR BUMPCURSOR1940 JSR INCSCREEN1950 RTS19)}60 ;1970 INCSCREEN1980 DEC SNDEX1990 BPL IDONE2000 LDA #22010 STA SNDEX2020 IDONE2030 RTS2040 ;2050 PLOT2060 )}PHA ; save pixel2070 JSR INCSCREEN2080 CLC2090 LDX SNDEX2100 LDA OFFSET,X2110 ADC ADDR+12120 STA SCADD)}R+12130 ;2140 LDA XCOR2150 LSR A ; /2 *and*2160 TAY ; determine2170 BCS ODDPIX ; odd/even!2)}180 PLA2190 TAX2200 LDA SHFTAB,X2210 STA (SCADDR),Y2220 RTS2230 ODDPIX2240 PLA ; retrieve2250 ORA (S)}CADDR),Y2260 STA (SCADDR),Y2270 RTS2280 ;2290 BUMPCURSOR2300 CLC2310 LDA ADDR2320 ADC #402330 STA ADDR2340 ST)}A SCADDR2350 BCC CHKY2360 LDA ADDR+12370 ADC #02380 STA ADDR+12390 ;2400 CHKY2410 INC YCOR2420 LDA YCOR2430 C)}MP HIGH ; at bottom?2440 BNE BDONE2450 INC XCOR2460 LDA XCOR2470 CMP WIDE ; at far edge?2480 BNE NEWCOL)}UMN2490 LDX STACK2500 TXS2510 RTS2520 ;2530 NEWCOLUMN2540 LDA #02550 STA YCOR2560 LDA #$502570 STA ADDR2580 )} LDA #$412590 STA ADDR+12600 BDONE2610 RTS2620 ;2630 GETCOUNT2640 JSR GETNYB2650 TAX2660 AND #82670 STA TYPE2)}680 TXA2690 AND #72700 BEQ BIGCOUNT2710 STA COUNT2720 RTS2730 BIGCOUNT2740 JSR GETNYB2750 CLC2760 ADC #72770)} STA COUNT2780 RTS2790 ;2800 GETRGB2810 JSR GETNYB2820 STA PIX2830 JSR GETNYB2840 STA PIX+12850 JSR GETNYB286)}0 STA PIX+22870 RTS2880 ;2890 GETNYB2900 LDA NSTAT2910 BNE LOW2920 LDA #12930 STA NSTAT2940 JSR GET2950 LSR )}A2960 LSR A2970 LSR A2980 LSR A2990 RTS3000 LOW3010 LDA #03020 STA NSTAT3030 LDA BYTE3040 AND #$0F3050 RTS)}3060 ;3070 GET3080 LDY INDEX3090 BEQ FILLBUFF3100 FETCH3110 LDA BUFFER,Y3120 STA BYTE3130 INC INDEX3140 RTS31)}50 FILLBUFF3160 LDA #GETCHR3170 LDX INDEV3180 STA ICCOM,X3190 LDA #03200 STA ICBAL,X3210 STA ICBLL,X3220 LDA #6)} ; buffer @ $06003230 STA ICBAH,X3240 LDA #13250 STA ICBLH,X3260 JSR CIOV3270 LDY #03280 JMP FETCH3290 ;)}3300 OFFSET3310 .BYTE $00,$20,$403320 SHFTAB3330 .BYTE 0,16,32,48,64,80,96,1123340 .BYTE 128,144,160,176,192,208,224,)}2400 OFFSET3310 .BYTE $00,$20,$403320 SHFTAB3330 .BYTE 0,16,32,48,64,80,96,1123340 .BYTE 128,144,160,176,192,208,224,(