@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`  `8  ɐ     `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.D8:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D8: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 ALLOWED228 FREE SECTORS COPYING---D1:DISKFIX.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- 139ɛ+,' 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 D8u8<<  B JKIHiDiELV`L8 8 BLV`LxT}8t8l Lu8hihiHHȱȱL8c !#3`Lu8JJJJ`H 8h`HU}ȩh Q8L8 Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9I9 8 '9h)0ICV}9D9L8 L :::: :Lr:::IEL[::i:iIIL[:`:i::iX}::L:`L{:w:w: C`L:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8Y} x:ɀL: '9`88 |9Y:X: '9L); D8:DUP.SYS; 8::88 9 '98? :`;WL`; 9Z}Ln; ` :Y;Y;L;L;)} Setting Up ATARI 130XE Ram Disk; 9L; ; -9  [} L;D8:; :9 :Y;LColorSquashView 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!}oftby Clay HalliwellMarch 1993INTRODUCTION CVSquash is the next logical step in the evolution of J.D Potter's re!}volutionary 4096-color ColorView mode. It's a groundbreaking development, but to date its implementation has suffered from t!}wo major flaws. First, ColorView files need not one, but three files per picture (and that takes a LOT of disk space!). Sec!}ond, there has been no way for the computer to determine the correct mode in which to display any given screen. CVSquash eli!}minates these problems, AND significantly reduces the disk space required to store ColorView pictures. Enjoy!SYSTEM REQUI!}REMENTS/SUPPORT -- Any 8-bit Atari (800/XL/XE) -- 48k RAM -- Atari DOS 2.x or compatible (MyDOS, etc...) SpartaDO!}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 !}done, you may choose what to do as follows: OPTION: Abort picture SELECT: Toggle between modes 9 and 15! } START : Proceed with conversionTITLES Another advantage to CVSquash is that it allows the addition of a ti!!}tle to your pictures. This title may be up to 40 characters long, and is automatically centered by CSView. When titlin!"}g pictures, I try to conform to the following conventions: If the image is of a famous person or place (eg-- Joe Stracz!#}ynski, Wall Drug), make that the title. If there is superimposed text in the image itself, it has probably been rendere!$}d illegible due to the Atari's (relatively) low resolution. When converting a GIF to ColorView format, try to zoom in on the!%}se text lines and write down what they say before doing the final conversion. Usually it will be a BBS number or copyright n!&}otice, or both.SAVING Your are now ready to squash and save. CVSquash defaults to the filename and directory the im!'}age was originally loaded from, but both may be changed. Again, to change the drive/subdirectory, simply press BACKSPACE and!(} enter your new choice. Do not enter an extension. ".RGB" will be added automatically. As CVSquash compresses your pi!)}cture, it indicates its progress via a vertical line scanning across the screen. Upon completion, you will, for your edifica!*}tion, be given the compression percentage and number of bytes saved over the original image. If a disk error should occur, y!+}ou will be notified.FORMAT DESCRIPTIONExtender: *.RGBHeader:Field Contents Format-------------------------!,}------------i.d. "RGB" ASCIIversion# "1" ASCIItitle len. 0-40 binarytitle anything i!-}nternal char.mode 9/15 binarywidth 1-80 binaryheight 1-192 binarycompression 1 !.} binaryImage Data:(all data is in nybbles (4-bit units))Control: xnnn x=1 literal data x=0 repeat data n!/}nn=1-7 count value (+1 if repeat data) nnn=0 second count nybbleCount2 : nnnn nnnn=1-15 + 8 count value (+1 if repeat !0}data)Red : nnnnGreen : nnnnBlue : nnnn[next Control nybble if repeat data, N number of RGB clusters if literal da!1}ta]ABOUT THE COMPRESSION FORMAT When I was trying to decide how to go about compressing ColorView files, I had to ta!2}ke a number of factors into consideration. An ARC- or GIF-style routine was out due to speed considerations...who wants to w!3}ait a couple of minutes for each picture to decompress? (plus such a routine was completely out of the realm of my programmi!4}ng skills...) Instead, I opted for a Koala-style algorithm that shrinks areas of identical consecutive pixels. O!5}perating at the byte level, though, wouldn't yield much compression in highly detailed screens. So I scanned at the pixel le!6}vel of the most common ColorView mode-- mode 9. I briefly considered compressing each screen separately, but realized t!7}hat the repeat/literal areas on each color separation would be nearly the same. Thus, CVSquash treats each ColorView pixel a!8}s a unit, saving on redundant control codes. In mode 9 the vertical resolution is much higher than the horizontal resol!9}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!?}5), owned and operated by nwPAC, the Northwest Phoenix Atari Connection--dedicated solely to the 8-bit Atari!SHAREWARE...T!@}HE WAVE OF THE FUTURE CVSquash is shareware. If you find this program to be a useful addition to your software library!A}, I strongly urge you to send in the paltry $5 registration fee. It's people who support shareware developers that are keepi!B}ng the 8-bit Atari alive. Send check or money order to: Clay Halliwell 407 S. 2nd Street Clinton, MO 6!C}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%E}TVBV=$E45C1070 XITVBV=$E4621080 WSYNC =$D40A1090 HPOS0 =$D0001100 HPOS1 =$D0011110 SIZEP0=$D0081120 SIZEP1=$D0091130 G%F}RAFP0=$D00D1140 GRAFP1=$D00E1150 COLPF0=$D0161160 COLPF1=$D0171170 COLPF2=$D0181180 COLBK =$D01A1190 PRIOR =$D01B1200 %G}KBCODE=$D2091210 IRQEN =$D20E1220 NMIEN =$D40E1230 VDSLST=$02001240 PCOLR0=$02C01250 PCOLR1=$02C11260 POKMSK=$00101270%H} ;1280 ; Variables1290 PAGE =2031300 LINES =2041310 MODE =2051320 COUNT =2061330 ;1340 ; Constants1350 DLIST =32822%I}1360 LMS1 =328271370 LMS2 =329231380 ;1390 *=$40001400 ;1410 ; INIT VBI1420 ;1430 PLA1440 PLA1450 PLA1460 S%J}TA MODE1470 ;1480 LDY #VBI&2551490 LDX #VBI/2561500 LDA #71510 JSR SETVBV1520 ;1530 ; INIT DLI1540 ;1550 LDA MO%K}DE1560 CMP #151570 BNE MODE91580 LDA #DLI2&2551590 STA VDSLST1600 LDA #DLI2/2561610 STA VDSLST+11620 LDA #6516%L}30 JMP SETUP1640 MODE91650 LDA #DLI&2551660 STA VDSLST1670 LDA #DLI/2561680 STA VDSLST+11690 LDA #1921700 SETUP%M}1710 STA COUNT1720 STA LINES1730 LDA #0 ; disable IRQs1740 STA IRQEN1750 STA POKMSK1760 LDA #192 ; e%N}nable DLIs1770 STA NMIEN1780 ;1790 LDA #48 ; mod disp list1800 STA DLIST1810 LDA #2401820 STA DLIST+21830 %O} LDX #21840 MODLOOP1850 LDA DLDATA,X1860 STA DLIST+199,X1870 DEX1880 BPL MODLOOP1890 ;1900 LDA #0 ; setup%P} p/m1910 STA PCOLR01920 STA PCOLR11930 LDA #2551940 STA GRAFP01950 STA GRAFP11960 STA SIZEP01970 STA SIZEP1198%Q}0 LDA #161990 STA HPOS02000 LDA #2082010 STA HPOS12020 RTS2030 ;2040 DLDATA2050 .BYTE $01,$50,$7F2060 ;2070 VB%R}I2080 LDA KBCODE2090 CMP #562100 BEQ DONE2110 LDX PAGE2120 DEX2130 BPL FLIP2140 LDX #22150 FLIP2160 STX PAGE%S}2170 LDA PADR1,X2180 STA LMS12190 LDA PADR2,X2200 STA LMS22210 DONE2220 LDA COUNT2230 STA LINES2240 JMP XITVBV%T}2250 ;2260 PADR12270 .BYTE $81,$61,$412280 PADR22290 .BYTE $90,$70,$502300 ;2310 DLI2320 PHA2330 TXA2340 PHA2%U}350 LDX PAGE2360 LOOP92370 LDA COLTAB9,X2380 STA WSYNC2390 STA COLBK2400 NEXTLINE2410 DEX2420 BPL DECLINE2430 %V}LDX #22440 DECLINE2450 DEC LINES2460 BNE LOOP92470 LDA #0 ; text line2480 STA WSYNC2490 STA PRIOR2500 ST%W}A COLBK2510 STA COLPF22520 LDA #142530 STA COLPF12540 ;2550 PLA2560 TAX2570 PLA2580 RTI2590 ;2600 ; Color Ta%X}ble2610 COLTAB92620 .BYTE 48,192,1122630 ;2640 DLI22650 PHA2660 TXA2670 PHA2680 TYA2690 PHA2700 LDA PAGE271%Y}0 BEQ RED2720 CMP #12730 BEQ GREEN2740 ;2750 BLUE2760 LDA #1162770 LDX #1222780 LDY #1262790 STA WSYNC2800 S%Z}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)a}1130 SAVMSC=$581140 ;1150 GETCHR=$071160 BUFFER=$06001170 ;1180 ; VARIABLES1190 INDEV=2181200 COUNT=2191210 SNDEX=22)b}01220 INDEX=2211230 XCOR =2221240 YCOR =2231250 BYTE =2241260 NSTAT=2251270 TYPE =2261280 STACK=2271290 ADDR =228 )c} ; 2 bytes1300 SCADDR=230 ; "1310 WIDE =2321320 HIGH =2331330 PIX =234 ; 3 bytes1340 ;1350 *=$5F50136)d}0 ;1370 PLA1380 PLA1390 PLA1400 ASL A1410 ASL A1420 ASL A1430 ASL A1440 STA INDEV1450 PLA1460 PLA1470 S)e}TA WIDE1480 PLA1490 PLA1500 STA HIGH1510 ;1520 LDA #01530 STA XCOR1540 STA YCOR1550 STA NSTAT1560 STA SNDEX)f}1570 STA INDEX1580 ;1590 LDA #$50 ; screen address1600 STA ADDR1610 STA SCADDR1620 LDA #$411630 STA ADDR+1)g}1640 ;1650 TSX1660 STX STACK ; save RTS addr1670 ;1680 MAINLOOP1690 JSR GETCOUNT1700 LDA TYPE1710 BNE LITERA)q}JB%DOS SYSB*)DUP SYSB SRAMDISK COMB.\COMPRESSSRCBCSVBETA BASB+CSVIEW BASBCSVIEW DOCB#CVSQUASHBASB4CVSQUASHDOCBDDISPRGB SRCB_EXPAND SRCL1720 JSR GETRGB1730 REPDATA1740 JSR PLOTRGB1750 DEC COUNT1760 BPL REPDATA1770 JMP MAINLOOP1780 ;1790 LITERAL18)r}00 JSR GETRGB1810 JSR PLOTRGB1820 DEC COUNT1830 BNE LITERAL1840 JMP MAINLOOP1850 ;1860 PLOTRGB1870 LDA PIX1880 )s} JSR PLOT1890 LDA PIX+11900 JSR PLOT1910 LDA PIX+21920 JSR PLOT1930 JSR BUMPCURSOR1940 JSR INCSCREEN1950 RTS19)t}60 ;1970 INCSCREEN1980 DEC SNDEX1990 BPL IDONE2000 LDA #22010 STA SNDEX2020 IDONE2030 RTS2040 ;2050 PLOT2060 )u}PHA ; save pixel2070 JSR INCSCREEN2080 CLC2090 LDX SNDEX2100 LDA OFFSET,X2110 ADC ADDR+12120 STA SCADD)v}R+12130 ;2140 LDA XCOR2150 LSR A ; /2 *and*2160 TAY ; determine2170 BCS ODDPIX ; odd/even!2)w}180 PLA2190 TAX2200 LDA SHFTAB,X2210 STA (SCADDR),Y2220 RTS2230 ODDPIX2240 PLA ; retrieve2250 ORA (S)x}CADDR),Y2260 STA (SCADDR),Y2270 RTS2280 ;2290 BUMPCURSOR2300 CLC2310 LDA ADDR2320 ADC #402330 STA ADDR2340 ST)y}A SCADDR2350 BCC CHKY2360 LDA ADDR+12370 ADC #02380 STA ADDR+12390 ;2400 CHKY2410 INC YCOR2420 LDA YCOR2430 C)z}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,(