@L1{j5  $% l0?$)$$Hȱ$ hL `H 0} h?> `  !I PR@1 L I`! S S) H$Ѝ$%`@ LGe$$%`% L$ LY0- HH ?@ 0 h Ę 0: < =;Ң79x 608:23 44 234, 8 4 ,P  ҥ V X0ɀ7Ф`# 21 4 2 L1 } ) 000 X 0 1 2 4 16` Z < A CE0l& 'L\䩏,,09$80}6L|Le1i1`00) ߍ ҍ ) `H) 000 h `ҍ ҩ(ҩҩ`: 0}8` k");1k0 -G$Ș L0 H y8(()(0˥)Nk`$GȘL )L  }L-GzȘ LL )W>\  MHH)H h  yhy||hy}} }{ V ILp> L  ` J u (`H % 6h @H?H`LdJ })LJJLw!,"!,{@F  LA  ! 0E^  }^ E E7EȩEdE/EȩE { ! Vj )Lw    n wy }?7? ( ) w y~ R V LwL n w ) V  Lw y {    }E` , ny{) { V Lwy{) 0BML ML  N L }NLML [ fEqEHȱEqEhi 3Gȹ G KLiL-GziɛiL  L}FREE SECTORSy {H) *Gȩ GȽG GȌiyh%*J >G L[ !NHP } ~h  Ȍ  S IJ0L  L , ` uBj i" ~ }BLV J u0ҩ  d8Hhi i VL,0 LD1:AUTORUN.SYSH  <h`H} @I`N@{ HH`  n L Z `LS2 DJf2)? @3 )D*,D* CD( C2}2C ԠX`H h`ʆ X , 0 00  5 9@  5YD1:RAMDISK.COMj`L8}L%D8:DUP.SYS8ׅ  ۍ n 1?  lTULBDU?6LVD8:MEM.SAVll{}BJ L iB ~0 LDE i V ,0 `DHEh }DEиL$% CC$$%%d$% 0%$%!} DDmLp   % J)Lz J  (( L (y{) "} [L ( yLk0oj Ty y IB [y~C{}|? V#}   wLL   y{)~LzA! ߰")- y" $zzG$}@LL  @  LA  d JJHJJJjh) yLTHY`J)!0  Q L  SIB%}LddJDOS SYSB}%!}"Y5L"P8GN*.COM*.EXENAVD><-+=!*?%% &%z3%$$HEL{*DIR*LOC.CLR.LOA-VER%INI+UNL.FMS.SAV,MODg%CARR*REN?,FME.H'}EAP)BAC_%BONo1DEL.FMD.SUM(RUNm*BOF|1COP3&FMQ.TYP.)EXE$ 1Y5P" O."8""@R'S15%(}0i5i5501ȊԢx5"JFJPWy"HH *5")IAY54 4> 4,0)}L#N #L|*J #L*J #14"4`J # 1Lk*v} 4 *%H$H`)?4 $ 4 #$0 *} 2 4 $ y$, L$LL-19" !"H "H` $ $Ѻ Ѻ걺 2ȱ 4ɛL"ȱH+}H 2e滠滱 u2`> 8e滐`+"`e` y$ 2" 2Execute: W. /p O. ,}/ 1L"*ԆՎ l$ 2 \*L#L)4 % HJJJJ 3. 4h 3 3XFHSEX; 4L4-}"݅pq y$ 2ݹp` %ݱp 3`,5 2`N5 l$ /0 / 1 l$L$$8n" }$ 2pq y$I eppq> .}4pq 3 3p,"0 ' 4 3L& 3`p8pqŠ 2ݑpȥpȄ(` /5D . 5 - #( l/}$ / #(莉5 2Reading: . .ii e֥iש 0( . `1,P3 1S / / 1&0}& 5$?♵5 -8tu E( rȥs(0 O. .Еߥ .8 ' 0( 2Writing: rȱsr* / /1} ,` / 1rs8 E($0 O. . .C .L'5  e . 'Lx&,5PJC`,50 2I2}nsert ( 2sourceL' 2destination 2 & hit key ! #ڭ ҍ5L25`5օtׅu` S2tu /3} 1HrettIseuu(` (x / / O.L1`$0'5 / S2 1XY O.4}8` W.r n( (errstuvw 2LEN: vw 3u 3 2 SUM: st 3rL3 W.$0 * n( ( 4LB)5}N` W.ʆ n( ($0,F (!$0բ 2No COM-File !LO. (8ԨՐυلإ5 * 6}2# 2RUN: E* 3 2INIT: E*L^) * 3 2. ԥ 3- 4֥ 3 2 LEN:إ 3 (L)إL^) 7}( ( 3L3 1 y$T 4T l y$l 2l *" 4 3 * $ $ 4 2 *ݥURL4` 8}, /$0"I" 1 n+,"0e+Di5Ei Q2 1 2 V/8," 29}LV+ԩ 3: 4 4I 4L+ 2D5:1 4 2: $;0+ 2SINGLE 2 DENSITY 2 RAMDISKL* 2ENH:}ANCEDp 2DOUBLE 2QUAD }/5,5$ 1 O.$0 `DOS.SYS8f5ȩU5ȩP5婿t"Y5;}L, / - l$ / /X,L. /,55 5.5 橛5L/LL$ }/ l$ 2 2刄t( 28<}$, 2RUN : y-ft 2INIT: y-ft 1 -$tP`$tPF$6ee=}ȄԄՠ$0֩ /$0 q- /8ਥi S2 L15 4ɛ 2` y$ 2 " 2Load: W.>} /$莞 1 -5 lL"0L2`")i"` 1 . / Q2 1'  Q2 1٠?}0 V/ .L.L2 BLVhihi / -i(i( -8((((.. . `1 1 $ .@}`5  e`,,,,"H 0hZ,!,#,$/ /$0 $0ZL/ -/L. / /L11/2/5A} 5 H.5h5ک5`5c/d/ 5? $08`$0`45 [2519 5B}55 /$05455 /5ED` *50 4`5008f [2R0/@ 2.C}/ȱ 280@0  eiȱ/\FȢɛ  o- *  D.8;+"/+ȱ0"D}LL$Vȱ+F/ڊ u2 80 ? 00 0/+$0Wy`5 ` 2Sure ? 1Q`$O 2es, E}o or bort? 81YN 4(` 'ɛ)YN A 2AL"` * 4 `)  ӆiF}j O.+ /  /$0Ș,J, 1B V0`1 O.:>ݩ,".U * 2 is locked !Unlock file? 1ݐ`G}$ 1УԢ5 )p O. * * 2# 4 3L"IH`:;:` ,ɛ`` u2` *H}hihi 4eiHH` ," 4 2 8`0:` 3` 2iԥiդ o$ԥ(`LL$ 2ԍ2Ս2I}Ԇՠ+22ȱ.6'`0#: AG6  &&`8`芄  (` }$ 2 2 3 J}2=' 38nɛL4ԥ 3 2=.݆ކ&բuݕت 3ߊ, 3HJJJJ 3h) 0:i,  K}4,500 BHI V,L2,"p:ɛUR.* t4 t4^ 81 t4( $x0Nhh`S8R^`倈L}HH`p@BDE-HI V0H-` O. 4L2L"ȱ 4ɛ`D2:*.*pB 5M}0#452"/ $/38%by("arth&"ruchhaeuserc -2eitershan#omputertechnikI"L2L"ȱ 4ɛ`D2:*.*pB 5[0100 ;HDW16V.LST (C)MR.ATARI0110 ;0120 ;EDITED 03-MRT-20060130 ;0140 ;COPY D2:ATARI.MOV0150 ;0160 ;TO MYIDE CYL $XXYY0O}170 ;0180 TEMP1 = $B3 ;IN1/REST/TMP0190 TEMP5 = $B4 ;RES/DECIO0200 TEMP6 = $B5 ;RES/DECIO0210 SCROUT = $F2B0P}0220 CLS = $F4200230 LEN = $B0 ;1 BYTE LEN0240 BUF = $B1 ;2 BYTE BUF-ADD0250 PORT = $D500 ;D500=EXTERN02Q}60 MHD = 168 ;HEADS+1600270 MSC = 33 ;SECTORS+10280 YY = 32 ;LO0290 XX = 3 ;CYLINDER 800030R}0 *= $80000310 .OPT OBJ0320 ;0330 ;BUFFER $3D00-$5B000340 ;0350 LDA #YY ;YY0360 STA HDCYLL ;CYL LS}O0370 LDA #XX ;XX0380 STA HDCYLH ;CYL HI0390 LDA #$A00400 STA HDHEAD ;HEAD-00410 LDA #$010420T} STA HDSECN ;SECTOR-10430 ;0440 JSR CLS0450 JSR OPEN0460 BMI STOP0470 NEXT JSR LOAD0480 BMI STOP0U}490 LDA HDCYLL0500 STA TEMP50510 LDA HDCYLH0520 STA TEMP60530 JSR DECOUT0540 JSR SEND0550 JV}MP NEXT0560 STOP JSR CLOS0570 ENDE JMP ENDE0580 ;0590 FNM1 .BYTE "D2:ATARI.MOV",$9B0600 ;0610 OPEN LDX #$100620 LDW}A #$030630 STA $0342,X0640 LDA #FNM1&2550650 STA $0344,X0660 LDA #FNM1/2560670 STA $0345,X0680 X}LDA #$040690 STA $034A,X0700 LDA #$000710 STA $034B,X0720 JMP $E456 ;CIO/RTS0730 ;0740 LOAD LDX #$10Y}0750 LDA #$07 ;GET0760 STA $0342,X0770 LDA #$000780 STA $0344,X0790 LDA #$40 ;$4000 BUF0800 Z} STA $0345,X0810 LDA #$000820 STA $0348,X0830 LDA #$1B ;6.75 KB0840 STA $0349,X0850 JMP $E456 [};CIO/RTS0860 ;0870 CLOS LDX #$100880 LDA #$0C0890 STA $0342,X0900 JMP $E456 ;CIO/RTS0910 ;0920 SEND LDA \}#3 ;30 SECTORS0930 STA LEN ;7.5 K0940 LDA #$000950 STA BUF ;BUF-LO0960 LDA #$3D0970 STA ]}BUF+1 ;BUF-HI0980 ;0990 JSR DUM ;DUMMY SAV1000 LDA #271010 STA LEN1020 JMP HDW ;SAVE TO HD!10^}30 ;1040 ;1050 ;>>WRITE TO HD<<1060 ;MyIDE-PATCH TURBO!1070 ;(C) 2004 MR.ATARI1080 ;1090 HDDATA = PORT+$001100 HDERRR _}= PORT+$011110 HDSECC = PORT+$021120 HDSECN = PORT+$031130 HDCYLL = PORT+$041140 HDCYLH = PORT+$051150 HDHEAD = PORT+$06`}1160 HDSTAT = PORT+$071170 ;1180 HDW LDA #$011190 STA HDSECC1200 LDA #$311210 STA HDSTAT ;WRITE1220 La}DY #$001230 S0 LDA HDSTAT ;WAIT FOR DRQ1240 AND #$081250 BNE S11260 DEY 1270 BNE S01280 BEQ HDW b} ;NO DRQ=RETRY1290 S1 LDY #$00 ;SEND DATA1300 S2 LDA (BUF),Y1310 STA HDDATA1320 INY 1330 BNE S21340 c} LDA HDSTAT1350 AND #$081360 BNE HDW ;DRQ SET! RETRY1370 LDY $141380 INC $141390 S3 LDA HDSTAT d};WAIT FOR READY1400 BPL S4 ;MAX 256 FRMS1410 CPY $141420 BNE S3 ;WAIT1430 BEQ HDW ;>5 SEC Re}ETRY1440 S4 LDA HDERRR ;WRITE-ERROR?1450 BNE HDW ;RETRY1460 ;1470 ;NEXT SECTOR1480 ;1490 INC HDSECN1500 f} LDA HDSECN1510 CMP #MSC1520 BNE NXOK1530 LDA #11540 STA HDSECN1550 INC HDHEAD1560 LDA HDHEAg}D1570 CMP #MHD1580 BNE NXOK1590 LDA #$A01600 STA HDHEAD1610 INC HDCYLL1620 BNE NXOK1630 INh}C HDCYLH1640 NXOK INC BUF+11650 DEC LEN ;DONE?1660 BNE HDW1670 RTS 1680 ;1690 DUM INC HDSECN1700 Li}DA HDSECN1710 CMP #MSC1720 BNE DMO1730 LDA #11740 STA HDSECN1750 INC HDHEAD1760 LDA HDHEAD1770 }q թթթ G0 e0ՅՅ : L L7D2:ATARI.MOVB:DEJKLVBD@E k}HILV BLV= Lթ1ՠ))פȭխ!խ l}ɨ ưЗ`խ!խɨ ư`UT 08fHghh 򤳈` d }0100 ;HDW16S.LST (C)MR.ATARI0110 ;0120 ;EDITED 03-MRT-20060130 ;0140 ;COPY D2:ATARI.RAW0150 ;0160 ;TO MYIDE CYL $XXYY0n}170 ;0180 TEMP1 = $B3 ;IN1/REST/TMP0190 TEMP5 = $B4 ;RES/DECIO0200 TEMP6 = $B5 ;RES/DECIO0210 SCROUT = $F2B0o}0220 CLS = $F4200230 LEN = $B0 ;1 BYTE LEN0240 BUF = $B1 ;2 BYTE BUF-ADD0250 PORT = $D500 ;D500=EXTERN02p}60 MHD = 168 ;HEADS+1600270 MSC = 33 ;SECTORS+10280 YY = 32 ;LO0290 XX = 3 ;CYLINDER 800030q}0 *= $80000310 .OPT OBJ0320 ;0330 ;BUFFER $3D00-$5B000340 ;0350 LDA #YY ;YY0360 STA HDCYLL ;CYL Lr}O0370 LDA #XX ;XX0380 STA HDCYLH ;CYL HI0390 LDA #$A00400 STA HDHEAD ;HEAD-00410 LDA #$010420s} STA HDSECN ;SECTOR-10430 ;0440 JSR CLS0450 JSR OPEN0460 BMI STOP0470 NEXT JSR LOAD0480 BMI STOP0t}490 LDA HDCYLL0500 STA TEMP50510 LDA HDCYLH0520 STA TEMP60530 JSR DECOUT0540 JSR SEND0550 Ju}MP NEXT0560 STOP JSR CLOS0570 ENDE JMP ENDE0580 ;0590 FNM1 .BYTE "D2:ATARI.RAW",$9B0600 ;0610 OPEN LDX #$100620 LDv}A #$030630 STA $0342,X0640 LDA #FNM1&2550650 STA $0344,X0660 LDA #FNM1/2560670 STA $0345,X0680 w}LDA #$040690 STA $034A,X0700 LDA #$000710 STA $034B,X0720 JMP $E456 ;CIO/RTS0730 ;0740 LOAD LDX #$10x}0750 LDA #$07 ;GET0760 STA $0342,X0770 LDA #$000780 STA $0344,X0790 LDA #$3D ;$3D00 BUF0800 y} STA $0345,X0810 LDA #$000820 STA $0348,X0830 LDA #$03 ;0.75 KB0840 STA $0349,X0850 JMP $E456 z};CIO/RTS0860 ;0870 CLOS LDX #$100880 LDA #$0C0890 STA $0342,X0900 JMP $E456 ;CIO/RTS0910 ;0920 SEND LDA {}#3 ;30 SECTORS0930 STA LEN ;7.5 K0940 LDA #$000950 STA BUF ;BUF-LO0960 LDA #$3D0970 STA |}BUF+1 ;BUF-HI0980 ;0990 JSR HDW ;SAVE AUDIO1000 LDA #271010 STA LEN1020 JMP DUM ;DUMMY1030 ;}}1040 ;1050 ;>>WRITE TO HD<<1060 ;MyIDE-PATCH TURBO!1070 ;(C) 2004 MR.ATARI1080 ;1090 HDDATA = PORT+$001100 HDERRR = POR~}T+$011110 HDSECC = PORT+$021120 HDSECN = PORT+$031130 HDCYLL = PORT+$041140 HDCYLH = PORT+$051150 HDHEAD = PORT+$061160} HDSTAT = PORT+$071170 ;1180 HDW LDA #$011190 STA HDSECC1200 LDA #$311210 STA HDSTAT ;WRITE1220 LDY #$}001230 S0 LDA HDSTAT ;WAIT FOR DRQ1240 AND #$081250 BNE S11260 DEY 1270 BNE S01280 BEQ HDW ;N}O DRQ=RETRY1290 S1 LDY #$00 ;SEND DATA1300 S2 LDA (BUF),Y1310 STA HDDATA1320 INY 1330 BNE S21340 L}DA HDSTAT1350 AND #$081360 BNE HDW ;DRQ SET! RETRY1370 LDY $141380 INC $141390 S3 LDA HDSTAT ;WAIT} FOR READY1400 BPL S4 ;MAX 256 FRMS1410 CPY $141420 BNE S3 ;WAIT1430 BEQ HDW ;>5 SEC RETRY}1440 S4 LDA HDERRR ;WRITE-ERROR?1450 BNE HDW ;RETRY1460 ;1470 ;NEXT SECTOR1480 ;1490 INC HDSECN1500 L}DA HDSECN1510 CMP #MSC1520 BNE NXOK1530 LDA #11540 STA HDSECN1550 INC HDHEAD1560 LDA HDHEAD157}0 CMP #MHD1580 BNE NXOK1590 LDA #$A01600 STA HDHEAD1610 INC HDCYLL1620 BNE NXOK1630 INC HDC}YLH1640 NXOK INC BUF+11650 DEC LEN ;DONE?1660 BNE HDW1670 RTS 1680 ;1690 DUM INC HDSECN1700 LDA HD}SECN1710 CMP #MSC1720 BNE DMO1730 LDA #11740 STA HDSECN1750 INC HDHEAD1760 LDA HDHEAD1770 }q թթթ G0 e0ՅՅ : L L7D2:ATARI.RAWB:DEJKLVBD=E}HILV BLV= L թ1ՠ))פȭխ!խ}ɨ ưЗ`խ!խɨ ư`UT 08fHghh 򤳈` d}թթթթԩ"#x)$!ҩҩ0@0=A{1!ԩ@Щ{|= ] }ҩPҩX 󀥷 tL0"0թ!խ)Ցխ!խɤ ƴа`}`  `؅`L!ԩ{|`"ԩ}~`Hҩҥ03@(AA@Ʒ]A1h@` Ʒ=A1}h@A]=]L1Lb{{pO@}OP}A{||pO`}OpA|}}ppppO@}OP}A}~~ppppO`}OpA~d0100 ;AVI16.LST (C) MR.ATARI0110 ;0120 ;ŠϠȠқ0130 ;ŭΡ0140 ;0150 ;MOVIE VIEWER P}IN ASSEMBLY0160 ;MODIFIED MRT-20060170 ;0180 ;MOVIE AND SOUND ON HD0190 ;START = CYLINDER $YYXX0200 ;0210 ;VIDEO: 64X21P}6 16 GREY 8FPS 4:30220 ;OR : 80X172 16 GREY 8FPS 2:10230 ;AUDIO: 6.144 KHZ0240 ;0250 ;IDE-RATING: 60 K/S0260 ;CURRENP}T CODE: 60 K/S0270 ;0280 ;AUDIO-BUFFER 1:$3D00-$4000 0.750290 ;AUDIO-BUFFER 2:$5D00-$6000 KB0300 ;VIDEO-BUFFER 1:$4000-$5P}B00 6.750310 ;VIDEO-BUFFER 2:$6000-$7B00 KB0320 ;VIDEO-DISPLAY ;$7B00,$7C00 NORM0330 ;VIDEO-DISPLAY ;$7D00,$7E00 WIDE0340P} ;0350 SB1=$3D ;SOUNDBUF-10360 SB2=$40 ;END BUF-10370 SB3=$5D ;SOUNDBUF-20380 SB4=$60 ;ENP}D BUF-20390 VL1A=$7B ;DISPLAY-1 NORM0400 VL2A=$7C ;DISPLAY-2 NORM0410 VL1B=$7D ;DISPLAY-1 WIDE0420 VP}L2B=$7E ;DISPLAY-2 WIDE0430 LLN=30 ;7.5 K0440 BUF=$B0 ;2 BYTES IDE0450 ;SBF IN CODE ! ;2 BYTES IRP}Q0460 LEN=$B4 ;IDE LOAD-LEN0470 TPY=$B5 ;IRQ TEMP-Y0480 SST=$B7 ;IRQ STATUS0490 TMP=$B8 ;P}IDE TMP0500 VL1=$B9 ;VIDEO-LOCATION10510 VL2=$BA ;VIDEO-LOCATION20520 PORT=$D500 ;ĵԠıԛ0530 MP}HD=164 ;ӫ0540 MSC=33 ;ӫ0550 YY=07 ;̠ϭś0560 XX=00 ;̠ɭś0570 ;ĠP} ț0580 ;Ӡϛ0590 ;٭Ԡś0600 ;㩠0610 ;0620 *=$80000630 P} LDA #$A0 ;SETUP IDE-1 !0640 STA HDHEAD0650 LDA #YY0660 STA HDCYLL0670 LDA #XX0680 STA HDCYLP}H0690 LDA #$010700 STA HDSECN0710 ;0720 LDA #$00 ;DISABLE NMI0730 STA $D40E ;SETUP NMI0740 P}LDA #NMI&255 ;FOR VBUF!0750 STA $2220760 LDA #NMI/2560770 STA $2230780 SEI ;DISABLE IRQ0790 P} LDA $D014 ;PAL OR NTSC?0800 AND #$0E0810 BEQ PAL0820 LDA #$24 ;NTSC-LOBYTE0830 BNE NTSC0840 PP}AL LDA #$21 ;PAL-LOBYTE0850 NTSC STA $D200 ;0860 LDA #$01 ;HIBYTE0870 STA $D202 ;1.79MHZ/16BIT !0880 P} LDA #SIRQ&2550890 STA $216 ;SETUP COUNT-IRQ0900 LDA #SIRQ/256 ;AT 6144 HZ0910 STA $217 ;3Sx8Fx256ByteP}s0920 ;0930 LDA #$00 ;SETUP MISC0940 STA BUF ;LO0950 STA SBF+1 ;LO0960 STA $230 ;DISPLAY-LOP}0970 LDA #SB10980 STA SBF+2 ;SET BUF-IRQ0990 LDA #VL1A1000 STA $231 ;SET DISPLAY1010 LDA #$21P} ;SMALL=DEFAULT1020 STA $D4001030 LDA #$401040 STA $D01B ;GREY1050 LDA #VL1A ;SETUP DISPLAY1060 P} STA VL1 ;LOCATION1070 LDA #VL2A ;DEFAULT=4:31080 STA VL2 ;A=4:3 B=2:11090 ;1100 LDA #SB1 ;FIP}LL BUFFERS1110 STA BUF+11120 JSR HGET ;BUFFER-11130 LDA #SB31140 STA BUF+11150 JSR HGET ;BUP}FFER-21160 LDA #$011170 STA SST ;SET STATUS=OK1180 ;1190 LDA #$02 ;SET IRQ1200 STA $10 ;ONLYP} POKEY#21210 STA $D20E ;NOTHING ELSE!1220 LDA #$50 ;POK1->POK21230 STA $D208 ;POK1=1.79MHZ1240 ;1250 P} LDA #$C0 ;START MOVIE!1260 STA $D40E ;START NMI1270 CLI ;START IRQ1280 ;1290 LOOP JSR JOYS ;DOP} INPUT ALWAYS1300 LDA SST ;CHECKK STATUS1310 CMP #1 ;1=OK1320 BEQ LOOP ;WAIT1330 JSR SGET P};EMPTY, DO LOAD1340 JMP LOOP1350 ;1360 HDDATA = PORT+$01370 HDERRR = PORT+$11380 HDSECC = PORT+$21390 HDSECN = PORP}T+$31400 HDCYLL = PORT+$41410 HDCYLH = PORT+$51420 HDHEAD = PORT+$61430 HDSTAT = PORT+$71440 ;1450 HGET LDA #LLN ;#SEP}CTORS1460 STA LEN1470 S1 LDA SST ;DUMMY LOAD IF -1480 BMI S8 ;TO CATCHUP1490 LDA HDSTAT ;DRIVE REP}ADY?1500 BMI S1 ;NO!1510 LDA #011520 STA HDSECC ;1-SECTOR1530 LDA #$211540 STA HDSTAT ;READP}!1550 ;1560 SB LDA HDSTAT ;CHECK DRQ1570 AND #$08 ;WAIT FOR IT!1580 BEQ SB1590 ;1600 S6 LDY #$00 ;P}GET DATA1610 S7 LDA HDDATA1620 STA (BUF),Y1630 INY1640 BNE S7 ;256 BYTES1650 INC BUF+11660 ;P}1670 S8 INC HDSECN ;LOAD NEXT1680 LDA HDSECN ;SECTOR/HD/CYL1690 CMP #MSC ;INTO DRIVE1700 BNE NXOK P} ;REGISTERS1710 LDA #11720 STA HDSECN1730 INC HDHEAD1740 LDA HDHEAD1750 CMP #MHD1760 BNEP} NXOK1770 LDA #$A01780 STA HDHEAD1790 INC HDCYLL1800 BNE NXOK1810 INC HDCYLH1820 NXOK DEC LENP}1830 BNE S11840 INC SST ;1 FRAME LOADED1850 RTS1860 ;1870 JOYS LDA $D300 ;PORT-A1880 CMP #$FF1890P} BNE JOY1 ;MOVEMENT!1900 RTS1910 JOY1 CMP #$F7 ;RIGHT?1920 BEQ FFF ;FASTFORWARD1930 CMP #$FB ;LEP}FT?1940 BEQ RES ;RESTART1950 CMP #$FE ;UP?1960 BEQ SMAL ;4:31970 CMP #$FD ;DOWN?1980 BEQ WP}IDE ;2:11990 RTS2000 FFF LDA #216 ;SET STATUS -402010 STA SST ;=SKIP 5 SEC2020 RTS2030 RES JMP $800P}0 ;JUMP START2040 SMAL LDA #$21 ;4:32050 STA $D4002060 LDA #VL1A2070 STA VL12080 LDA #VL2A2090 P} STA VL22100 RTS2110 WIDE LDA #$22 ;2:12120 STA $D4002130 LDA #VL1B2140 STA VL12150 LDA #VL2P}B2160 STA VL22170 RTS2180 ;2190 ;SOUND-IRQ BY MR.ATARI (C)20042200 ;SOUND BY POKEY #1, IRQ BY #22210 ;BUFFER P}UNDERRUN: AUDIO STOPS2220 ;SIMPLE CODE TO REDUCE CYCLES!2230 SIRQ PHA ;SAVE A2240 LDA #$FD2250 STA $D20EP}2260 LDA #$022270 STA $D20E ;RESET IRQ2280 LDA SST ;BUFFERS OK?2290 BMI IRQE ;NO !2300 SBF LDP}A $FFFF ;SET ON INIT2310 STA $D2012320 INC SBF+12330 BNE IRQE2340 IRQ2 INC SBF+22350 LDA SBF+22360P} CMP #SB22370 BNE IRQ32380 DEC SST ;SET EMPTY2390 LDA #SB3 ;SET SBUF2400 STA SBF+22410 P} LDA VL2 ;SET DIS2420 STA $2312430 PLA2440 RTI2450 IRQ3 CMP #SB42460 BNE IRQE2470 DEC SST P} ;SET EMPTY2480 LDA #SB1 ;SET SBUF2490 STA SBF+22500 LDA VL1 ;SET DIS2510 STA $2312520 IRQE PP}LA2530 RTI2540 ;2550 ;FILL CORRECT BUFFER.2560 ;2570 SGET LDA SBF+2 ;AUDIO-HIVECTOR2580 CMP #SB3 ;WERE IS P}IT?2590 BCC SGE1 ;IN BUF1, 2=EMPT2600 LDA #SB1 ;FILL BUF12610 BNE SGE22620 SGE1 LDA #SB3 ;FILL BUF2P}2630 SGE2 STA BUF+12640 JMP HGET ;GET SECTORS2650 ;2660 ;SCREEN NMI TO UPDATE DISPLAY2670 ;2680 NMI LDA $231269P}0 STA $D403 ;THATS ALL!2700 JMP $E462 ;RTI2710 ;2720 ;DIS16N.LST2730 *=$7B002740 .BYTE 1122750 .BYTE $4FP},$00,$402760 .BYTE 15,15,15,15,15,15,15,152770 .BYTE 15,15,15,15,15,15,15,152780 .BYTE 15,15,15,15,15,15,15,152790 .BP}YTE 15,15,15,15,15,15,15,152800 .BYTE 15,15,15,15,15,15,15,152810 .BYTE 15,15,15,15,15,15,15,152820 .BYTE 15,15,15,15,1P}5,15,15,152830 .BYTE 15,15,15,15,15,15,15,152840 .BYTE 15,15,15,15,15,15,15,152850 .BYTE 15,15,15,15,15,15,15,152860 P}.BYTE 15,15,15,15,15,15,15,152870 .BYTE 15,15,15,15,15,15,15,152880 .BYTE 15,15,15,15,15,15,15,152890 .BYTE 15,15,15,15P},15,15,15,152900 .BYTE 15,15,15,15,15,15,15,152910 .BYTE 15,15,15,15,15,15,152920 .BYTE $4F,$00,$502930 .BYTE 15,15,1P}5,15,15,15,15,152940 .BYTE 15,15,15,15,15,15,15,152950 .BYTE 15,15,15,15,15,15,15,152960 .BYTE 15,15,15,15,15,15,15,15P}2970 .BYTE 15,15,15,15,15,15,15,152980 .BYTE 15,15,15,15,15,15,15,152990 .BYTE 15,15,15,15,15,15,15,153000 .BYTE 15,15P},15,15,15,15,15,153010 .BYTE 15,15,15,15,15,15,15,153020 .BYTE 15,15,15,15,15,15,15,153030 .BYTE 15,15,15,15,15,15,153P}040 .BYTE $41,$00,$7B3050 *=$7C003060 .BYTE 1123070 .BYTE $4F,$00,$603080 .BYTE 15,15,15,15,15,15,15,153090 .BYTE P}15,15,15,15,15,15,15,153100 .BYTE 15,15,15,15,15,15,15,153110 .BYTE 15,15,15,15,15,15,15,153120 .BYTE 15,15,15,15,15,15P},15,153130 .BYTE 15,15,15,15,15,15,15,153140 .BYTE 15,15,15,15,15,15,15,153150 .BYTE 15,15,15,15,15,15,15,153160 .BYTP}E 15,15,15,15,15,15,15,153170 .BYTE 15,15,15,15,15,15,15,153180 .BYTE 15,15,15,15,15,15,15,153190 .BYTE 15,15,15,15,15,P}15,15,153200 .BYTE 15,15,15,15,15,15,15,153210 .BYTE 15,15,15,15,15,15,15,153220 .BYTE 15,15,15,15,15,15,15,153230 .BP}YTE 15,15,15,15,15,15,153240 .BYTE $4F,$00,$703250 .BYTE 15,15,15,15,15,15,15,153260 .BYTE 15,15,15,15,15,15,15,153270P} .BYTE 15,15,15,15,15,15,15,153280 .BYTE 15,15,15,15,15,15,15,153290 .BYTE 15,15,15,15,15,15,15,153300 .BYTE 15,15,15,P}15,15,15,15,153310 .BYTE 15,15,15,15,15,15,15,153320 .BYTE 15,15,15,15,15,15,15,153330 .BYTE 15,15,15,15,15,15,15,1533P}40 .BYTE 15,15,15,15,15,15,15,153350 .BYTE 15,15,15,15,15,15,153360 .BYTE $41,$00,$7C3370 ;3380 *=$7D003390 .BYTE 1P}12,112,112,1123400 .BYTE $4F,$10,$403410 .BYTE 15,15,15,15,15,15,15,153420 .BYTE 15,15,15,15,15,15,15,153430 .BYTE 15P},15,15,15,15,15,15,153440 .BYTE 15,15,15,15,15,15,15,153450 .BYTE 15,15,15,15,15,15,15,153460 .BYTE 15,15,15,15,15,15,1P}5,153470 .BYTE 15,15,15,15,15,15,15,153480 .BYTE 15,15,15,15,15,15,15,153490 .BYTE 15,15,15,15,15,15,15,153500 .BYTE P}15,15,15,15,15,15,15,153510 .BYTE 15,15,15,15,15,15,15,153520 .BYTE 15,15,15,15,15,15,15,153530 .BYTE 15,15,15,15,1535P}40 .BYTE $4F,$00,$503550 .BYTE 15,15,15,15,15,15,15,153560 .BYTE 15,15,15,15,15,15,15,153570 .BYTE 15,15,15,15,15,15,1P}5,153580 .BYTE 15,15,15,15,15,15,15,153590 .BYTE 15,15,15,15,15,15,15,153600 .BYTE 15,15,15,15,15,15,15,153610 .BYTE P}15,15,15,15,15,15,15,153620 .BYTE 15,15,15,15,153630 .BYTE $41,$00,$7D3640 *=$7E003650 .BYTE 112,112,112,1123660 .BP}YTE $4F,$10,$603670 .BYTE 15,15,15,15,15,15,15,153680 .BYTE 15,15,15,15,15,15,15,153690 .BYTE 15,15,15,15,15,15,15,153P}700 .BYTE 15,15,15,15,15,15,15,153710 .BYTE 15,15,15,15,15,15,15,153720 .BYTE 15,15,15,15,15,15,15,153730 .BYTE 15,15,P}15,15,15,15,15,153740 .BYTE 15,15,15,15,15,15,15,153750 .BYTE 15,15,15,15,15,15,15,153760 .BYTE 15,15,15,15,15,15,15,15P}3770 .BYTE 15,15,15,15,15,15,15,153780 .BYTE 15,15,15,15,15,15,15,153790 .BYTE 15,15,15,15,153800 .BYTE $4F,$00,$703P}810 .BYTE 15,15,15,15,15,15,15,153820 .BYTE 15,15,15,15,15,15,15,153830 .BYTE 15,15,15,15,15,15,15,153840 .BYTE 15,15,P}15,15,15,15,15,153850 .BYTE 15,15,15,15,15,15,15,153860 .BYTE 15,15,15,15,15,15,15,153870 .BYTE 15,15,15,15,15,15,15,15P}3880 .BYTE 15,15,15,15,153890 .BYTE $41,$00,$7E3900 *=$2E03910 .WORD $80003920 ;START MOVIE FROM DOS,15,15,15PtA HDSTAT1250 ;1260 SB LDA HDSTAT ;CHECK DRQ1270 AND #$08 ;WAIT FOR IT!1280 BEQ SB1290 ;1300 S6 LDY #$00 (} ;GET DATA/MULTI1310 S7 LDA HDDATA1320 STA (BUF),Y1330 INY1340 BNE S7 ;256 BYTES1350 INC BUF+113(}60 DEC LEN1370 BNE S6 ;BLOCK-MODE1380 ;1390 INC HDSECN1400 LDA HDSECN1410 CMP #MSC1420 BNE(} NXOK1430 LDA #11440 STA HDSECN1450 INC HDHEAD1460 LDA HDHEAD1470 CMP #MHD1480 BNE NXOK1490 (} LDA #$A01500 STA HDHEAD1510 INC HDCYLL1520 BNE NXOK1530 INC HDCYLH1540 ;1550 NXOK LDA $D3001560 (}CMP #$F71570 BEQ FFF ;FAST FORWARD1580 LDA $D3001590 CMP #$FB1600 BEQ FFB ;FAST BACKWARD1610 FFE(} RTS1620 ;1630 FFF CLC1640 LDA HDCYLL1650 ADC #$021660 STA HDCYLL1670 LDA HDCYLH1680 ADC #$001690(} STA HDCYLH1700 RTS1710 FFB SEC1720 LDA HDCYLL1730 SBC #$021740 STA HDCYLL1750 LDA HDCYLH1760 (} SBC #$001770 STA HDCYLH1780 RTS1790 ;1800 ;SOUND-IRQ BY MR.ATARI (C)20041810 ;SOUND BY POKEY #1, IRQ BY #21(}820 ;BUFFER UNDERRUN: AUDIO STOPS1830 ;SIMPLE CODE TO REDUCE CYCLES!1840 SIRQ PHA ;SAVE A1850 LDA #$FD1860 (} STA $D20E1870 LDA #$021880 STA $D20E ;RESET IRQ1890 LDA SST ;BUFFERS OK?1900 CMP #$03 ;NO !(}1910 BEQ IRQE ;EXIT !1920 SBF LDA $FFFF ;SET ON INIT1930 STA $D2011940 INC SBF+11950 BNE IRQE196(}0 IRQ2 INC SBF+21970 LDA SBF+21980 CMP #SB21990 BNE IRQ32000 LDA SST ;SET 1 EMPTY2010 ORA #$(}012020 STA SST2030 LDA #SB3 ;SET SBUF2040 STA SBF+22050 LDA #VL2 ;SET DIS2060 STA $2312070(} BNE IRQE2080 IRQ3 CMP #SB42090 BNE IRQE2100 LDA SST ;SET 2 EMPTY2110 ORA #$022120 STA SST2(}130 LDA #SB1 ;SET SBUF2140 STA SBF+22150 LDA #VL1 ;SET DIS2160 STA $2312170 IRQE PLA2180 RT(}I2190 ;2200 ;FILL CORRECT BUFFER. 1>2!2210 ;2220 SGET LDA SST2230 STA TMP ;UNDERRUN?2240 AND #12250 (}BEQ SGE1 ;GET BUF22260 LDA #SB1 ;GET BUF12270 STA BUF+12280 BNE SGE22290 SGE1 LDA #SB32300 STA B(}UF+12310 SGE2 JSR HGET2320 ;2330 LDA TMP ;UNDERRUN-BUF2340 AND #$01 ;DURING HGET2350 BEQ SGE4 ;TO (}TOGGLE BIT2360 LDA SST2370 AND #$FE2380 STA SST ;CLEAR BIT12390 RTS2400 SGE4 LDA SST2410 AN(}D #$FD2420 STA SST ;CLEAR BIT22430 RTS2440 ;2450 ;SCREEN NMI TO UPDATE DISPLAY2460 ;2470 NMI LDA $231248(}0 STA $D403 ;THATS ALL!2490 JMP $E462 ;RTI2500 ;50 ;SCREEN NMI TO UPDATE DISPLAY2460 ;2470 NMI LDA $231248(?wѩѩѩѩԩo"#xҩҩ 0= {1@Щ F FҩPҩX FLm-}0х!ѭ)ёƴѭ@ѭɯ ѭ`iѭi`8ѭ-}`Hҩҥ; 0 @ ] |1` = {1h@)=] w))`)`1-}Lbҩҥ; 0 @ ] |1` = {1h@)=] w))`)`1,0100 ;DIS16G.LST0110 *=$7B000120 .BYTE 112,112,112,1120130 .BYTE $4F,$10,$400140 .BYTE 15,15,15,15,15,15,15,150150 1}.BYTE 15,15,15,15,15,15,15,150160 .BYTE 15,15,15,15,15,15,15,150170 .BYTE 15,15,15,15,15,15,15,150180 .BYTE 15,15,15,151},15,15,15,150190 .BYTE 15,15,15,15,15,15,15,150200 .BYTE 15,15,15,15,15,15,15,150210 .BYTE 15,15,15,15,15,15,15,1502201} .BYTE 15,15,15,15,15,15,15,150230 .BYTE 15,15,15,15,15,15,15,150240 .BYTE 15,15,15,15,15,15,15,150250 .BYTE 15,15,15,1}15,15,15,15,150260 .BYTE 15,15,15,15,150270 .BYTE $4F,$00,$500280 .BYTE 15,15,15,15,15,15,15,150290 .BYTE 15,15,15,151 },15,15,15,150300 .BYTE 15,15,15,15,15,15,15,150310 .BYTE 15,15,15,15,15,15,15,150320 .BYTE 15,15,15,15,15,15,15,1503301 } .BYTE 15,15,15,15,15,15,15,150340 .BYTE 15,15,15,15,15,15,15,150350 .BYTE 15,15,15,15,150360 .BYTE $41,$00,$7B1050 1 }*=$7C001120 .BYTE 112,112,112,1121130 .BYTE $4F,$10,$601140 .BYTE 15,15,15,15,15,15,15,151150 .BYTE 15,15,15,15,15,151 },15,151160 .BYTE 15,15,15,15,15,15,15,151170 .BYTE 15,15,15,15,15,15,15,151180 .BYTE 15,15,15,15,15,15,15,151190 .BYT1 }E 15,15,15,15,15,15,15,151200 .BYTE 15,15,15,15,15,15,15,151210 .BYTE 15,15,15,15,15,15,15,151220 .BYTE 15,15,15,15,15,1}15,15,151230 .BYTE 15,15,15,15,15,15,15,151240 .BYTE 15,15,15,15,15,15,15,151250 .BYTE 15,15,15,15,15,15,15,151260 .B1}YTE 15,15,15,15,151270 .BYTE $4F,$00,$701280 .BYTE 15,15,15,15,15,15,15,151290 .BYTE 15,15,15,15,15,15,15,151300 .BYT1}E 15,15,15,15,15,15,15,151310 .BYTE 15,15,15,15,15,15,15,151320 .BYTE 15,15,15,15,15,15,15,151330 .BYTE 15,15,15,15,15,1}15,15,151340 .BYTE 15,15,15,15,15,15,15,151350 .BYTE 15,15,15,15,151360 .BYTE $41,$00,$7C51330 .BYTE 15,15,15,15,15,0`{{ppppO@OP5}A{||ppppO`5}OpA|4n0100 ;DIS16N.LST0110 *=$7B000120 .BYTE 1120130 .BYTE $4F,$00,$400140 .BYTE 15,15,15,15,15,15,15,150150 .BYTE 15,15,9}15,15,15,15,15,150160 .BYTE 15,15,15,15,15,15,15,150170 .BYTE 15,15,15,15,15,15,15,150180 .BYTE 15,15,15,15,15,15,15,159}0190 .BYTE 15,15,15,15,15,15,15,150200 .BYTE 15,15,15,15,15,15,15,150210 .BYTE 15,15,15,15,15,15,15,150220 .BYTE 15,19}5,15,15,15,15,15,150230 .BYTE 15,15,15,15,15,15,15,150240 .BYTE 15,15,15,15,15,15,15,150250 .BYTE 15,15,15,15,15,15,15,9}150260 .BYTE 15,15,15,15,15,15,15,150270 .BYTE 15,15,15,15,15,15,15,150280 .BYTE 15,15,15,15,15,15,15,150290 .BYTE 159},15,15,15,15,15,150300 .BYTE $4F,$00,$500310 .BYTE 15,15,15,15,15,15,15,150320 .BYTE 15,15,15,15,15,15,15,150330 .BYT9}E 15,15,15,15,15,15,15,150340 .BYTE 15,15,15,15,15,15,15,150350 .BYTE 15,15,15,15,15,15,15,150360 .BYTE 15,15,15,15,15,9}15,15,150370 .BYTE 15,15,15,15,15,15,15,150380 .BYTE 15,15,15,15,15,15,15,150390 .BYTE 15,15,15,15,15,15,15,150400 .B9}YTE 15,15,15,15,15,15,15,150410 .BYTE 15,15,15,15,15,15,150420 .BYTE $41,$00,$7B0430 *=$7C000440 .BYTE 1120450 .BYT9}E $4F,$00,$600460 .BYTE 15,15,15,15,15,15,15,150470 .BYTE 15,15,15,15,15,15,15,150480 .BYTE 15,15,15,15,15,15,15,150499}0 .BYTE 15,15,15,15,15,15,15,150500 .BYTE 15,15,15,15,15,15,15,150510 .BYTE 15,15,15,15,15,15,15,150520 .BYTE 15,15,159 },15,15,15,15,150530 .BYTE 15,15,15,15,15,15,15,150540 .BYTE 15,15,15,15,15,15,15,150550 .BYTE 15,15,15,15,15,15,15,1509!}560 .BYTE 15,15,15,15,15,15,15,150570 .BYTE 15,15,15,15,15,15,15,150580 .BYTE 15,15,15,15,15,15,15,150590 .BYTE 15,15,9"}15,15,15,15,15,150600 .BYTE 15,15,15,15,15,15,15,150610 .BYTE 15,15,15,15,15,15,150620 .BYTE $4F,$00,$700630 .BYTE 159#},15,15,15,15,15,15,150640 .BYTE 15,15,15,15,15,15,15,150650 .BYTE 15,15,15,15,15,15,15,150660 .BYTE 15,15,15,15,15,15,19$}5,150670 .BYTE 15,15,15,15,15,15,15,150680 .BYTE 15,15,15,15,15,15,15,150690 .BYTE 15,15,15,15,15,15,15,150700 .BYTE 9%}15,15,15,15,15,15,15,150710 .BYTE 15,15,15,15,15,15,15,150720 .BYTE 15,15,15,15,15,15,15,150730 .BYTE 15,15,15,15,15,159&},150740 .BYTE $41,$00,$7C0750 ;0760 *=$7D000770 .BYTE 112,112,112,1120780 .BYTE $4F,$10,$400790 .BYTE 15,15,15,15,9'}15,15,15,150800 .BYTE 15,15,15,15,15,15,15,150810 .BYTE 15,15,15,15,15,15,15,150820 .BYTE 15,15,15,15,15,15,15,150830 9(} .BYTE 15,15,15,15,15,15,15,150840 .BYTE 15,15,15,15,15,15,15,150850 .BYTE 15,15,15,15,15,15,15,150860 .BYTE 15,15,15,19)}5,15,15,15,150870 .BYTE 15,15,15,15,15,15,15,150880 .BYTE 15,15,15,15,15,15,15,150890 .BYTE 15,15,15,15,15,15,15,150909*}0 .BYTE 15,15,15,15,15,15,15,150910 .BYTE 15,15,15,15,150920 .BYTE $4F,$00,$500930 .BYTE 15,15,15,15,15,15,15,150940 9+} .BYTE 15,15,15,15,15,15,15,150950 .BYTE 15,15,15,15,15,15,15,150960 .BYTE 15,15,15,15,15,15,15,150970 .BYTE 15,15,15,19,}5,15,15,15,150980 .BYTE 15,15,15,15,15,15,15,150990 .BYTE 15,15,15,15,15,15,15,151000 .BYTE 15,15,15,15,151010 .BYTE 9-}$41,$00,$7D1020 *=$7E001030 .BYTE 112,112,112,1121040 .BYTE $4F,$10,$601050 .BYTE 15,15,15,15,15,15,15,151060 .BYTE9.} 15,15,15,15,15,15,15,151070 .BYTE 15,15,15,15,15,15,15,151080 .BYTE 15,15,15,15,15,15,15,151090 .BYTE 15,15,15,15,15,19/}5,15,151100 .BYTE 15,15,15,15,15,15,15,151110 .BYTE 15,15,15,15,15,15,15,151120 .BYTE 15,15,15,15,15,15,15,151130 .BY90}TE 15,15,15,15,15,15,15,151140 .BYTE 15,15,15,15,15,15,15,151150 .BYTE 15,15,15,15,15,15,15,151160 .BYTE 15,15,15,15,1591},15,15,151170 .BYTE 15,15,15,15,151180 .BYTE $4F,$00,$701190 .BYTE 15,15,15,15,15,15,15,151200 .BYTE 15,15,15,15,15,192}5,15,151210 .BYTE 15,15,15,15,15,15,15,151220 .BYTE 15,15,15,15,15,15,15,151230 .BYTE 15,15,15,15,15,15,15,151240 .BY93}TE 15,15,15,15,15,15,15,151250 .BYTE 15,15,15,15,15,15,15,151260 .BYTE 15,15,15,15,151270 .BYTE $41,$00,$7E51240 .BY8r{{pO@=5}OPA{||pO`=6}Op=7}A|}}ppppO@=8}OP=9}A}~~ppppO`O=:}pA~O<B0100 ;AVI16.LST (C) MR.ATARI0110 ;0120 ;ŠϠȠқ0130 ;ŭΡ0140 ;0150 ;MOVIE VIEWER A<}IN ASSEMBLY0160 ;MODIFIED MRT-20060170 ;0180 ;MOVIE AND SOUND ON HD0190 ;START = CYLINDER $YYXX0200 ;0210 ;VIDEO: 64X21A=}6 16 GREY 8FPS 4:30220 ;OR : 80X172 16 GREY 8FPS 2:10230 ;AUDIO: 6.144 KHZ0240 ;0250 ;IDE-RATING: 60 K/S0260 ;CURRENA>}T CODE: 60 K/S0270 ;0280 ;AUDIO-BUFFER 1:$3D00-$4000 0.750290 ;AUDIO-BUFFER 2:$5D00-$6000 KB0300 ;VIDEO-BUFFER 1:$4000-$5A?}B00 6.750310 ;VIDEO-BUFFER 2:$6000-$7B00 KB0320 ;VIDEO-DISPLAY ;$7B00,$7C00 NORM0330 ;VIDEO-DISPLAY ;$7D00,$7E00 WIDE0340A@} ;0350 SB1=$3D ;SOUNDBUF-10360 SB2=$40 ;END BUF-10370 SB3=$5D ;SOUNDBUF-20380 SB4=$60 ;ENAA}D BUF-20390 VL1A=$7B ;DISPLAY-1 NORM0400 VL2A=$7C ;DISPLAY-2 NORM0410 VL1B=$7D ;DISPLAY-1 WIDE0420 VAB}L2B=$7E ;DISPLAY-2 WIDE0430 LLN=30 ;7.5 K0440 BUF=$B0 ;2 BYTES IDE0450 ;SBF IN CODE ! ;2 BYTES IRAC}Q0460 LEN=$B4 ;IDE LOAD-LEN0470 TPY=$B5 ;IRQ TEMP-Y0480 SST=$B7 ;IRQ STATUS0490 TMP=$B8 ;AD}IDE TMP0500 VL1=$B9 ;VIDEO-LOCATION10510 VL2=$BA ;VIDEO-LOCATION20520 PORT=$D500 ;ĵԠıԛ0530 MAE}HD=168 ;ӫ0540 MSC=33 ;ӫ0550 YY=32 ;̠ϭś0560 XX=03 ;̠ɭś0570 ;ĠAF} ț0580 ;Ӡϛ0590 ;٭Ԡś0600 ;㩠0610 ;0620 *=$80000630 AG} LDA #$A0 ;SETUP IDE-1 !0640 STA HDHEAD0650 LDA #YY0660 STA HDCYLL0670 LDA #XX0680 STA HDCYLAH}H0690 LDA #$010700 STA HDSECN0710 ;0720 LDA #$00 ;DISABLE NMI0730 STA $D40E ;SETUP NMI0740 AI}LDA #NMI&255 ;FOR VBUF!0750 STA $2220760 LDA #NMI/2560770 STA $2230780 SEI ;DISABLE IRQ0790 AJ} LDA $D014 ;PAL OR NTSC?0800 AND #$0E0810 BEQ PAL0820 LDA #$24 ;NTSC-LOBYTE0830 BNE NTSC0840 PAK}AL LDA #$21 ;PAL-LOBYTE0850 NTSC STA $D200 ;0860 LDA #$01 ;HIBYTE0870 STA $D202 ;1.79MHZ/16BIT !0880 AL} LDA #SIRQ&2550890 STA $216 ;SETUP COUNT-IRQ0900 LDA #SIRQ/256 ;AT 6144 HZ0910 STA $217 ;3Sx8Fx256ByteAM}s0920 ;0930 LDA #$00 ;SETUP MISC0940 STA BUF ;LO0950 STA SBF+1 ;LO0960 STA $230 ;DISPLAY-LOAN}0970 LDA #SB10980 STA SBF+2 ;SET BUF-IRQ0990 LDA #VL1A1000 STA $231 ;SET DISPLAY1010 LDA #$21AO} ;SMALL=DEFAULT1020 STA $D4001030 LDA #$401040 STA $D01B ;GREY1050 LDA #VL1A ;SETUP DISPLAY1060 AP} STA VL1 ;LOCATION1070 LDA #VL2A ;DEFAULT=4:31080 STA VL2 ;A=4:3 B=2:11090 ;1100 LDA #SB1 ;FIAQ}LL BUFFERS1110 STA BUF+11120 JSR HGET ;BUFFER-11130 LDA #SB31140 STA BUF+11150 JSR HGET ;BUAR}FFER-21160 LDA #$011170 STA SST ;SET STATUS=OK1180 ;1190 LDA #$02 ;SET IRQ1200 STA $10 ;ONLYAS} POKEY#21210 STA $D20E ;NOTHING ELSE!1220 LDA #$50 ;POK1->POK21230 STA $D208 ;POK1=1.79MHZ1240 ;1250 AT} LDA #$C0 ;START MOVIE!1260 STA $D40E ;START NMI1270 CLI ;START IRQ1280 ;1290 LOOP JSR JOYS ;DOAU} INPUT ALWAYS1300 LDA SST ;CHECKK STATUS1310 CMP #1 ;1=OK1320 BEQ LOOP ;WAIT1330 JSR SGET AV};EMPTY, DO LOAD1340 JMP LOOP1350 ;1360 HDDATA = PORT+$01370 HDERRR = PORT+$11380 HDSECC = PORT+$21390 HDSECN = PORAW}T+$31400 HDCYLL = PORT+$41410 HDCYLH = PORT+$51420 HDHEAD = PORT+$61430 HDSTAT = PORT+$71440 ;1450 HGET LDA #LLN ;#SEAX}CTORS1460 STA LEN1470 S1 LDA SST ;DUMMY LOAD IF -1480 BMI S8 ;TO CATCHUP1490 LDA HDSTAT ;DRIVE REAY}ADY?1500 BMI S1 ;NO!1510 LDA #011520 STA HDSECC ;1-SECTOR1530 LDA #$211540 STA HDSTAT ;READAZ}!1550 ;1560 SB LDA HDSTAT ;CHECK DRQ1570 AND #$08 ;WAIT FOR IT!1580 BEQ SB1590 ;1600 S6 LDY #$00 ;A[}GET DATA1610 S7 LDA HDDATA1620 STA (BUF),Y1630 INY1640 BNE S7 ;256 BYTES1650 INC BUF+11660 ;A\}1670 S8 INC HDSECN ;LOAD NEXT1680 LDA HDSECN ;SECTOR/HD/CYL1690 CMP #MSC ;INTO DRIVE1700 BNE NXOK A]} ;REGISTERS1710 LDA #11720 STA HDSECN1730 INC HDHEAD1740 LDA HDHEAD1750 CMP #MHD1760 BNEA^} NXOK1770 LDA #$A01780 STA HDHEAD1790 INC HDCYLL1800 BNE NXOK1810 INC HDCYLH1820 NXOK DEC LENA_}1830 BNE S11840 INC SST ;1 FRAME LOADED1850 RTS1860 ;1870 JOYS LDA $D300 ;PORT-A1880 CMP #$FF1890A`} BNE JOY1 ;MOVEMENT!1900 RTS1910 JOY1 CMP #$F7 ;RIGHT?1920 BEQ FFF ;FASTFORWARD1930 CMP #$FB ;LEAa}FT?1940 BEQ RES ;RESTART1950 CMP #$FE ;UP?1960 BEQ SMAL ;4:31970 CMP #$FD ;DOWN?1980 BEQ WAb}IDE ;2:11990 RTS2000 FFF LDA #216 ;SET STATUS -402010 STA SST ;=SKIP 5 SEC2020 RTS2030 RES JMP $800Ac}0 ;JUMP START2040 SMAL LDA #$21 ;4:32050 STA $D4002060 LDA #VL1A2070 STA VL12080 LDA #VL2A2090 Ad} STA VL22100 RTS2110 WIDE LDA #$22 ;2:12120 STA $D4002130 LDA #VL1B2140 STA VL12150 LDA #VL2Ae}B2160 STA VL22170 RTS2180 ;2190 ;SOUND-IRQ BY MR.ATARI (C)20042200 ;SOUND BY POKEY #1, IRQ BY #22210 ;BUFFER Af}UNDERRUN: AUDIO STOPS2220 ;SIMPLE CODE TO REDUCE CYCLES!2230 SIRQ PHA ;SAVE A2240 LDA #$FD2250 STA $D20EAg}2260 LDA #$022270 STA $D20E ;RESET IRQ2280 LDA SST ;BUFFERS OK?2290 BMI IRQE ;NO !2300 SBF LDAq}?B"DOS SYSB(&DUP SYSB$NHDW16V LSTBjHDW16V OBJB$mHDW16S LSTBHDW16S OBJB AVI16 OBJDIS16G OBJ-AVI16G LSTAVI16G OBJ-AVI16B LSTAVI16B OBJDIS16B LSTDIS16B OBJDIS16N LST4DIS16N OBJT;AVI16N LSTtAVI16N OBJ|DECOUT M65HDW16V M65BTAVI16 LSTA $FFFF ;SET ON INIT2310 STA $D2012320 INC SBF+12330 BNE IRQE2340 IRQ2 INC SBF+22350 LDA SBF+22360Ar} CMP #SB22370 BNE IRQ32380 DEC SST ;SET EMPTY2390 LDA #SB3 ;SET SBUF2400 STA SBF+22410 As} LDA VL2 ;SET DIS2420 STA $2312430 PLA2440 RTI2450 IRQ3 CMP #SB42460 BNE IRQE2470 DEC SST Ax}թ թթթԩ"#x)$!ҩҩ3C0=D{1!ԩ@Щ{|= ] Eu}ҩPҩX wL L0"0թ!խ)Ցխ!խɨ ƴаEv}``  `؅`L!ԩ{|`"ԩ}~`Hҩҥ03C(DD@Ʒ]D1h@` Ʒ=DEw}1h@D]=]L1Lb!ԩ{|`"ԩ}~`Hҩҥ03C(DD@Ʒ]D1h@` Ʒ=DD! ;SET EMPTY2480 LDA #SB1 ;SET SBUF2490 STA SBF+22500 LDA VL1 ;SET DIS2510 STA $2312520 IRQE PAy}LA2530 RTI2540 ;2550 ;FILL CORRECT BUFFER.2560 ;2570 SGET LDA SBF+2 ;AUDIO-HIVECTOR2580 CMP #SB3 ;WERE IS Az}IT?2590 BCC SGE1 ;IN BUF1, 2=EMPT2600 LDA #SB1 ;FILL BUF12610 BNE SGE22620 SGE1 LDA #SB3 ;FILL BUF2A{}2630 SGE2 STA BUF+12640 JMP HGET ;GET SECTORS2650 ;2660 ;SCREEN NMI TO UPDATE DISPLAY2670 ;2680 NMI LDA $231269A}dX;**********************nTEMP1;;IN1/REST/TMPxTEMP5;;RES/DECIOTEMP6;;RES/DECIOSCROUT CLSI}} "X;*****************************"X;* DECOUT (CLS POS 0,0 5DIG++*"X;*****************************DECOUT CLSQ>I~}PUPT%> DECOU1$> 0 DECOU2; QTEMP5SDECTAB85" QTEMP6,SDECTAB86 DDECOU3@ PTEMP6J7I}T PTEMP5^2h HDECOU2r DECOU37|A 'TEMP1 SCROUT %TEMP111 HDECOU1:X; DECTAB    dI}  '2h HDECOU2r DECOU37|A 'TEMP1 SCROUT %TEMP111 HDECOU1:X; DECTAB    dH  dX;HDW16V.LST (C)MR.ATARInX;xX;EDITED 03-MRT-2006X;X;COPY D2:ATARI.MOVX;X;TO MYIDE CYL $XXYYX;LEM}N;;1 BYTE LENBUF;;2 BYTE BUF-ADDPORT;;D500=EXTERNMHD;;HEADS+160MSC!;;SECTORS+1 YY ;;LOM}XX;;CYLINDER 800X;X;BUFFER $3D00-$5B00X;" Q>YY;;YY,PHDCYLL;;CYL LO6 Q>XX;;XX@PHDCYLH;;CYL HIJM}Q>TPHDHEAD;;HEAD-0^Q>hPHDSECN;;SECTOR-1rX;w CLS| OPEN GSTOPNEXT LOAD GSTOP QHDCYLL PTEMPM}4 QHDCYLH PTEMP5 DECOUT SEND !NEXTSTOP CLOSENDE!ENDEX;FNM1 AD2:ATARI.MOVA=X; OPEN$M}>Q>PB9 Q>FNM1PD9Q>FNM1&PE90Q>:PJ9DQ>NPK9X!V;;CIO/RTSbX;l LOAD$>vM} Q>;;GETPB9Q>PD9Q>@;;$4000 BUFPE9Q>PH9Q>;;6.75 KBPI9!V;;CIO/RTSX; CM}LOS$>Q> PB9 !V;;CIO/RTSX; SENDQ>;;30 SECTORS*PLEN;;7.5 K4Q>>PBUF;;BUF-LOHQ>=RPBUF;;M}BUF-HI\X;f DUM;;DUMMY SAVpQ>zPLEN!HDW;;SAVE TO HD!X;X;X;>>WRITE TO HD<<X;MyIDE-PATCH TURBO!X;(M}C) 2004 MR.ATARIX;HDDATAPORTHDERRRPORTHDSECCPORTHDSECNPORTHDCYLLPORTHDCYLM}HPORTHDHEADPORTHDSTATPORTX;$ HDWQ>. PHDSECC8Q>1BPHDSTAT;;WRITEL%>VS0QHDSTAT;;WAM}IT FOR DRQ`M>jHS1t1~HS0FHDW;;NO DRQ=RETRYS1%>;;SEND DATA S2Q@BUF7 PHDDATA3HS2 QHDSTATM}M>HHDW;;DRQ SET! RETRY%#S3QHDSTAT;;WAIT FOR READYIS4;;MAX 256 FRMS ) HS3;;WAITFHDW;;>5 M}SEC RETRY(S4QHDERRR;;WRITE-ERROR?2HHDW;;RETRY<X;FX;NEXT SECTORPX;Z #HDSECNd QHDSECNn R>MSCx HNXOKQ>M} PHDSECN #HDHEAD QHDHEAD R>MHD HNXOKQ> PHDHEAD #HDCYLL HNXOK #HDCYLHNXOK#BUF"LEN;M};DONE?HHDW:X;"DUM#HDSECN, QHDSECN6 R>MSC@HDMOJQ>T PHDSECN^ #HDHEADh QHDHEADr R>MHD|HDMOM}Q> PHDHEAD #HDCYLLHDMO #HDCYLHDMO#BUF"LEN;;DONE?HDUM:X;X;**********************TM}EMP1;;IN1/REST/TMPTEMP5;;RES/DECIOTEMP6;;RES/DECIOSCROUT CLS "X;****************************M}*"X;* DECOUT (CLS POS 0,0 5DIG++* "X;******************************DECOUTQ>>PUHPTR%> \DECOU1$> 0f DECOUM}2;p QTEMP5zSDECTAB85 QTEMP6SDECTAB8 DDECOU3 PTEMP67 PTEMP52 HDECOU2 DECOU37A 'M}TEMP1 SCROUT %TEMP1 1 1$ HDECOU1. :8 X;B DECTAB L   V  d`  j  '2 HDECOU2 DECOU37A 'L^ CMP #MHD1780 BNE DMO1790 LDA #$A01800 STA HDHEAD1810 INC HDCYLL1820 BNE DMO1830 INC HDCYLH }1840 DMO INC BUF+11850 DEC LEN ;DONE?1860 BNE DUM1870 RTS 1880 ;1890 ;*****************************190 }0 ;* DECOUT (CLS POS 0,0 5DIG++*1910 ;*****************************1920 DECOUT LDA #01930 STA $551940 STA $54195 }0 LDY #101960 DECOU1 LDX #'01970 DECOU2 SEC 1980 LDA TEMP51990 SBC DECTAB-2,Y2000 PHA 2010 LDA TEMP }62020 SBC DECTAB-1,Y2030 BCC DECOU32040 STA TEMP62050 PLA 2060 STA TEMP52070 INX 2080 BNE }DECOU22090 DECOU3 PLA 2100 TXA 2110 STY TEMP12120 JSR SCROUT2130 LDY TEMP12140 DEY 2150 DEY 2 }160 BNE DECOU12170 RTS 2180 ;2190 DECTAB .WORD 12200 .WORD 102210 .WORD 1002220 .WORD 10002230 } .WORD 10000ECOU12170 RTS 2180 ;2190 DECTAB .WORD 12200 .WORD 102210 .WORD 1002220 .WORD 10002230  CMP #MHD1780 BNE DMO1790 LDA #$A01800 STA HDHEAD1810 INC HDCYLL1820 BNE DMO1830 INC HDCYLH1840} DMO INC BUF+11850 DEC LEN ;DONE?1860 BNE DUM1870 RTS 1880 ;1890 ;*****************************1900 ;* }DECOUT (CLS POS 0,0 5DIG++*1910 ;*****************************1920 DECOUT LDA #01930 STA $551940 STA $541950 } LDY #101960 DECOU1 LDX #'01970 DECOU2 SEC 1980 LDA TEMP51990 SBC DECTAB-2,Y2000 PHA 2010 LDA TEMP6202}0 SBC DECTAB-1,Y2030 BCC DECOU32040 STA TEMP62050 PLA 2060 STA TEMP52070 INX 2080 BNE DECOU}22090 DECOU3 PLA 2100 TXA 2110 STY TEMP12120 JSR SCROUT2130 LDY TEMP12140 DEY 2150 DEY 2160 } BNE DECOU12170 RTS 2180 ;2190 DECTAB .WORD 12200 .WORD 102210 .WORD 1002220 .WORD 10002230 .WOR}D 10000ECOU12170 RTS 2180 ;2190 DECTAB .WORD 12200 .WORD 102210 .WORD 1002220 .WORD 10002230 .WOR'ɨ ưЗ`խ!խɨ ư`UT 08fHghh 򤳈` d'ɨ ưЗ`խ!խɨ ư`UT 08fHghh 򤳈` d 0 STA $D403 ;THATS ALL!2700 JMP $E462 ;RTI2710 ;2720 ;DIS16N.LST2730 *=$7B002740 .BYTE 1122750 .BYTE $4FA},$00,$402760 .BYTE 15,15,15,15,15,15,15,152770 .BYTE 15,15,15,15,15,15,15,152780 .BYTE 15,15,15,15,15,15,15,152790 .BA}YTE 15,15,15,15,15,15,15,152800 .BYTE 15,15,15,15,15,15,15,152810 .BYTE 15,15,15,15,15,15,15,152820 .BYTE 15,15,15,15,1A}5,15,15,152830 .BYTE 15,15,15,15,15,15,15,152840 .BYTE 15,15,15,15,15,15,15,152850 .BYTE 15,15,15,15,15,15,15,152860 A}.BYTE 15,15,15,15,15,15,15,152870 .BYTE 15,15,15,15,15,15,15,152880 .BYTE 15,15,15,15,15,15,15,152890 .BYTE 15,15,15,15A},15,15,15,152900 .BYTE 15,15,15,15,15,15,15,152910 .BYTE 15,15,15,15,15,15,152920 .BYTE $4F,$00,$502930 .BYTE 15,15,1A}5,15,15,15,15,152940 .BYTE 15,15,15,15,15,15,15,152950 .BYTE 15,15,15,15,15,15,15,152960 .BYTE 15,15,15,15,15,15,15,15A}2970 .BYTE 15,15,15,15,15,15,15,152980 .BYTE 15,15,15,15,15,15,15,152990 .BYTE 15,15,15,15,15,15,15,153000 .BYTE 15,15A},15,15,15,15,15,153010 .BYTE 15,15,15,15,15,15,15,153020 .BYTE 15,15,15,15,15,15,15,153030 .BYTE 15,15,15,15,15,15,153A}040 .BYTE $41,$00,$7B3050 *=$7C003060 .BYTE 1123070 .BYTE $4F,$00,$603080 .BYTE 15,15,15,15,15,15,15,153090 .BYTE A}15,15,15,15,15,15,15,153100 .BYTE 15,15,15,15,15,15,15,153110 .BYTE 15,15,15,15,15,15,15,153120 .BYTE 15,15,15,15,15,15A},15,153130 .BYTE 15,15,15,15,15,15,15,153140 .BYTE 15,15,15,15,15,15,15,153150 .BYTE 15,15,15,15,15,15,15,153160 .BYTA}E 15,15,15,15,15,15,15,153170 .BYTE 15,15,15,15,15,15,15,153180 .BYTE 15,15,15,15,15,15,15,153190 .BYTE 15,15,15,15,15,A}15,15,153200 .BYTE 15,15,15,15,15,15,15,153210 .BYTE 15,15,15,15,15,15,15,153220 .BYTE 15,15,15,15,15,15,15,153230 .BA}YTE 15,15,15,15,15,15,153240 .BYTE $4F,$00,$703250 .BYTE 15,15,15,15,15,15,15,153260 .BYTE 15,15,15,15,15,15,15,153270A} .BYTE 15,15,15,15,15,15,15,153280 .BYTE 15,15,15,15,15,15,15,153290 .BYTE 15,15,15,15,15,15,15,153300 .BYTE 15,15,15,A}15,15,15,15,153310 .BYTE 15,15,15,15,15,15,15,153320 .BYTE 15,15,15,15,15,15,15,153330 .BYTE 15,15,15,15,15,15,15,1533A}40 .BYTE 15,15,15,15,15,15,15,153350 .BYTE 15,15,15,15,15,15,153360 .BYTE $41,$00,$7C3370 ;3380 *=$7D003390 .BYTE 1A}12,112,112,1123400 .BYTE $4F,$10,$403410 .BYTE 15,15,15,15,15,15,15,153420 .BYTE 15,15,15,15,15,15,15,153430 .BYTE 15A},15,15,15,15,15,15,153440 .BYTE 15,15,15,15,15,15,15,153450 .BYTE 15,15,15,15,15,15,15,153460 .BYTE 15,15,15,15,15,15,1A}5,153470 .BYTE 15,15,15,15,15,15,15,153480 .BYTE 15,15,15,15,15,15,15,153490 .BYTE 15,15,15,15,15,15,15,153500 .BYTE A}15,15,15,15,15,15,15,153510 .BYTE 15,15,15,15,15,15,15,153520 .BYTE 15,15,15,15,15,15,15,153530 .BYTE 15,15,15,15,1535A}40 .BYTE $4F,$00,$503550 .BYTE 15,15,15,15,15,15,15,153560 .BYTE 15,15,15,15,15,15,15,153570 .BYTE 15,15,15,15,15,15,1A}5,153580 .BYTE 15,15,15,15,15,15,15,153590 .BYTE 15,15,15,15,15,15,15,153600 .BYTE 15,15,15,15,15,15,15,153610 .BYTE A}15,15,15,15,15,15,15,153620 .BYTE 15,15,15,15,153630 .BYTE $41,$00,$7D3640 *=$7E003650 .BYTE 112,112,112,1123660 .BA}YTE $4F,$10,$603670 .BYTE 15,15,15,15,15,15,15,153680 .BYTE 15,15,15,15,15,15,15,153690 .BYTE 15,15,15,15,15,15,15,153A}700 .BYTE 15,15,15,15,15,15,15,153710 .BYTE 15,15,15,15,15,15,15,153720 .BYTE 15,15,15,15,15,15,15,153730 .BYTE 15,15,A}15,15,15,15,15,153740 .BYTE 15,15,15,15,15,15,15,153750 .BYTE 15,15,15,15,15,15,15,153760 .BYTE 15,15,15,15,15,15,15,15A}3770 .BYTE 15,15,15,15,15,15,15,153780 .BYTE 15,15,15,15,15,15,15,153790 .BYTE 15,15,15,15,153800 .BYTE $4F,$00,$703A}810 .BYTE 15,15,15,15,15,15,15,153820 .BYTE 15,15,15,15,15,15,15,153830 .BYTE 15,15,15,15,15,15,15,153840 .BYTE 15,15,A}15,15,15,15,15,153850 .BYTE 15,15,15,15,15,15,15,153860 .BYTE 15,15,15,15,15,15,15,153870 .BYTE 15,15,15,15,15,15,15,15A}3880 .BYTE 15,15,15,15,153890 .BYTE $41,$00,$7E53860 .BYTE 15,15,15,15,15,15,15,153870 .BYTE 15,15,15,15,15,15,15,15@40100 ;AVI16.LST (C) MR.ATARI0110 ;0120 ;ŠϠȠқ0130 ;ŭΡ0140 ;0150 ;MOVIE VIEWER Q}IN ASSEMBLY0160 ;MODIFIED MRT-20060170 ;0180 ;MOVIE AND SOUND ON HD0190 ;START = CYLINDER $YYXX0200 ;0210 ;VIDEO: 64X21Q}6 16 GREY 8FPS 4:30220 ;OR : 80X172 16 GREY 8FPS 2:10230 ;AUDIO: 6.144 KHZ0240 ;0250 ;IDE-RATING: 60 K/S0260 ;CURRENQ}T CODE: 60 K/S0270 ;0280 ;AUDIO-BUFFER 1:$3D00-$4000 0.750290 ;AUDIO-BUFFER 2:$5D00-$6000 KB0300 ;VIDEO-BUFFER 1:$4000-$5Q}B00 6.750310 ;VIDEO-BUFFER 2:$6000-$7B00 KB0320 ;VIDEO-DISPLAY ;$7B00,$7C00 NORM0330 ;VIDEO-DISPLAY ;$7D00,$7E00 WIDE0340Q} ;0350 SB1=$3D ;SOUNDBUF-10360 SB2=$40 ;END BUF-10370 SB3=$5D ;SOUNDBUF-20380 SB4=$60 ;ENQ}D BUF-20390 VL1A=$7B ;DISPLAY-1 NORM0400 VL2A=$7C ;DISPLAY-2 NORM0410 VL1B=$7D ;DISPLAY-1 WIDE0420 VQ}L2B=$7E ;DISPLAY-2 WIDE0430 LLN=30 ;7.5 K0440 BUF=$B0 ;2 BYTES IDE0450 ;SBF IN CODE ! ;2 BYTES IRQ}Q0460 LEN=$B4 ;IDE LOAD-LEN0470 TPY=$B5 ;IRQ TEMP-Y0480 SST=$B7 ;IRQ STATUS0490 TMP=$B8 ;Q}IDE TMP0500 VL1=$B9 ;VIDEO-LOCATION10510 VL2=$BA ;VIDEO-LOCATION20520 PORT=$D500 ;ĵԠıԛ0530 MQ}HD=168 ;ӫ0540 MSC=33 ;ӫ0550 YY=32 ;̠ϭś0560 XX=03 ;̠ɭś0570 ;ĠQ} ț0580 ;Ӡϛ0590 ;٭Ԡś0600 ;㩠0610 ;0620 *=$80000630 Q} LDA #$A0 ;SETUP IDE-1 !0640 STA HDHEAD0650 LDA #YY0660 STA HDCYLL0670 LDA #XX0680 STA HDCYLQ}H0690 LDA #$010700 STA HDSECN0710 ;0720 LDA #$00 ;DISABLE NMI0730 STA $D40E ;SETUP NMI0740 Q}LDA #NMI&255 ;FOR VBUF!0750 STA $2220760 LDA #NMI/2560770 STA $2230780 SEI ;DISABLE IRQ0790 Q} LDA $D014 ;PAL OR NTSC?0800 AND #$0E0810 BEQ PAL0820 LDA #$24 ;NTSC-LOBYTE0830 BNE NTSC0840 PQ}AL LDA #$21 ;PAL-LOBYTE0850 NTSC STA $D200 ;0860 LDA #$01 ;HIBYTE0870 STA $D202 ;1.79MHZ/16BIT !0880 Q} LDA #SIRQ&2550890 STA $216 ;SETUP COUNT-IRQ0900 LDA #SIRQ/256 ;AT 6144 HZ0910 STA $217 ;3Sx8Fx256ByteQ}s0920 ;0930 LDA #$00 ;SETUP MISC0940 STA BUF ;LO0950 STA SBF+1 ;LO0960 STA $230 ;DISPLAY-LOQ}0970 LDA #SB10980 STA SBF+2 ;SET BUF-IRQ0990 LDA #VL1A1000 STA $231 ;SET DISPLAY1010 LDA #$21Q} ;SMALL=DEFAULT1020 STA $D4001030 LDA #$401040 STA $D01B ;GREY1050 LDA #VL1A ;SETUP DISPLAY1060 Q} STA VL1 ;LOCATION1070 LDA #VL2A ;DEFAULT=4:31080 STA VL2 ;A=4:3 B=2:11090 ;1100 LDA #SB1 ;FIQ}LL BUFFERS1110 STA BUF+11120 JSR HGET ;BUFFER-11130 LDA #SB31140 STA BUF+11150 JSR HGET ;BUQ}FFER-21160 LDA #$011170 STA SST ;SET STATUS=OK1180 ;1190 LDA #$02 ;SET IRQ1200 STA $10 ;ONLYQ} POKEY#21210 STA $D20E ;NOTHING ELSE!1220 LDA #$50 ;POK1->POK21230 STA $D208 ;POK1=1.79MHZ1240 ;1250 Q} LDA #$C0 ;START MOVIE!1260 STA $D40E ;START NMI1270 CLI ;START IRQ1280 ;1290 LOOP JSR JOYS ;DOQ} INPUT ALWAYS1300 LDA SST ;CHECKK STATUS1310 CMP #1 ;1=OK1320 BEQ LOOP ;WAIT1330 JSR SGET Q};EMPTY, DO LOAD1340 JMP LOOP1350 ;1360 HDDATA = PORT+$01370 HDERRR = PORT+$11380 HDSECC = PORT+$21390 HDSECN = PORQ}T+$31400 HDCYLL = PORT+$41410 HDCYLH = PORT+$51420 HDHEAD = PORT+$61430 HDSTAT = PORT+$71440 ;1450 HGET LDA #LLN ;#SEQ}CTORS1460 STA LEN1470 S1 LDA SST ;DUMMY LOAD IF -1480 BMI S8 ;TO CATCHUP1490 LDA HDSTAT ;DRIVE REQ}ADY?1500 BMI S1 ;NO!1510 LDA #011520 STA HDSECC ;1-SECTOR1530 LDA #$211540 STA HDSTAT ;READQ}!1550 ;1560 SB LDA HDSTAT ;CHECK DRQ1570 AND #$08 ;WAIT FOR IT!1580 BEQ SB1590 ;1600 S6 LDY #$00 ;Q}GET DATA1610 S7 LDA HDDATA1620 STA (BUF),Y1630 INY1640 BNE S7 ;256 BYTES1650 INC BUF+11660 ;Q}1670 S8 INC HDSECN ;LOAD NEXT1680 LDA HDSECN ;SECTOR/HD/CYL1690 CMP #MSC ;INTO DRIVE1700 BNE NXOK Q} ;REGISTERS1710 LDA #11720 STA HDSECN1730 INC HDHEAD1740 LDA HDHEAD1750 CMP #MHD1760 BNEQ} NXOK1770 LDA #$A01780 STA HDHEAD1790 INC HDCYLL1800 BNE NXOK1810 INC HDCYLH1820 NXOK DEC LENQ}1830 BNE S11840 INC SST ;1 FRAME LOADED1850 RTS1860 ;1870 JOYS LDA $D300 ;PORT-A1880 CMP #$FF1890Q} BNE JOY1 ;MOVEMENT!1900 RTS1910 JOY1 CMP #$F7 ;RIGHT?1920 BEQ FFF ;FASTFORWARD1930 CMP #$FB ;LEQ}FT?1940 BEQ RES ;RESTART1950 CMP #$FE ;UP?1960 BEQ SMAL ;4:31970 CMP #$FD ;DOWN?1980 BEQ WQ}IDE ;2:11990 RTS2000 FFF LDA #216 ;SET STATUS -402010 STA SST ;=SKIP 5 SEC2020 RTS2030 RES JMP $800Q}0 ;JUMP START2040 SMAL LDA #$21 ;4:32050 STA $D4002060 LDA #VL1A2070 STA VL12080 LDA #VL2A2090 Q} STA VL22100 RTS2110 WIDE LDA #$22 ;2:12120 STA $D4002130 LDA #VL1B2140 STA VL12150 LDA #VL2Q}B2160 STA VL22170 RTS2180 ;2190 ;SOUND-IRQ BY MR.ATARI (C)20042200 ;SOUND BY POKEY #1, IRQ BY #22210 ;BUFFER Q}UNDERRUN: AUDIO STOPS2220 ;SIMPLE CODE TO REDUCE CYCLES!2230 SIRQ PHA ;SAVE A2240 LDA #$FD2250 STA $D20EQ}2260 LDA #$022270 STA $D20E ;RESET IRQ2280 LDA SST ;BUFFERS OK?2290 BMI IRQE ;NO !2300 SBF LDQ}A $FFFF ;SET ON INIT2310 STA $D2012320 INC SBF+12330 BNE IRQE2340 IRQ2 INC SBF+22350 LDA SBF+22360Q} CMP #SB22370 BNE IRQ32380 DEC SST ;SET EMPTY2390 LDA #SB3 ;SET SBUF2400 STA SBF+22410 Q} LDA VL2 ;SET DIS2420 STA $2312430 PLA2440 RTI2450 IRQ3 CMP #SB42460 BNE IRQE2470 DEC SST Q} ;SET EMPTY2480 LDA #SB1 ;SET SBUF2490 STA SBF+22500 LDA VL1 ;SET DIS2510 STA $2312520 IRQE PQ}LA2530 RTI2540 ;2550 ;FILL CORRECT BUFFER.2560 ;2570 SGET LDA SBF+2 ;AUDIO-HIVECTOR2580 CMP #SB3 ;WERE IS Q}IT?2590 BCC SGE1 ;IN BUF1, 2=EMPT2600 LDA #SB1 ;FILL BUF12610 BNE SGE22620 SGE1 LDA #SB3 ;FILL BUF2Q}2630 SGE2 STA BUF+12640 JMP HGET ;GET SECTORS2650 ;2660 ;SCREEN NMI TO UPDATE DISPLAY2670 ;2680 NMI LDA $231269Q}0 STA $D403 ;THATS ALL!2700 JMP $E462 ;RTI2710 ;2720 ;DIS16N.LST2730 *=$7B002740 .BYTE 1122750 .BYTE $4FQ},$00,$402760 .BYTE 15,15,15,15,15,15,15,152770 .BYTE 15,15,15,15,15,15,15,152780 .BYTE 15,15,15,15,15,15,15,152790 .BQ}YTE 15,15,15,15,15,15,15,152800 .BYTE 15,15,15,15,15,15,15,152810 .BYTE 15,15,15,15,15,15,15,152820 .BYTE 15,15,15,15,1Q}5,15,15,152830 .BYTE 15,15,15,15,15,15,15,152840 .BYTE 15,15,15,15,15,15,15,152850 .BYTE 15,15,15,15,15,15,15,152860 R}.BYTE 15,15,15,15,15,15,15,152870 .BYTE 15,15,15,15,15,15,15,152880 .BYTE 15,15,15,15,15,15,15,152890 .BYTE 15,15,15,15R},15,15,15,152900 .BYTE 15,15,15,15,15,15,15,152910 .BYTE 15,15,15,15,15,15,152920 .BYTE $4F,$00,$502930 .BYTE 15,15,1R}5,15,15,15,15,152940 .BYTE 15,15,15,15,15,15,15,152950 .BYTE 15,15,15,15,15,15,15,152960 .BYTE 15,15,15,15,15,15,15,15R}2970 .BYTE 15,15,15,15,15,15,15,152980 .BYTE 15,15,15,15,15,15,15,152990 .BYTE 15,15,15,15,15,15,15,153000 .BYTE 15,15R},15,15,15,15,15,153010 .BYTE 15,15,15,15,15,15,15,153020 .BYTE 15,15,15,15,15,15,15,153030 .BYTE 15,15,15,15,15,15,153R}040 .BYTE $41,$00,$7B3050 *=$7C003060 .BYTE 1123070 .BYTE $4F,$00,$603080 .BYTE 15,15,15,15,15,15,15,153090 .BYTE R}15,15,15,15,15,15,15,153100 .BYTE 15,15,15,15,15,15,15,153110 .BYTE 15,15,15,15,15,15,15,153120 .BYTE 15,15,15,15,15,15R},15,153130 .BYTE 15,15,15,15,15,15,15,153140 .BYTE 15,15,15,15,15,15,15,153150 .BYTE 15,15,15,15,15,15,15,153160 .BYTR}E 15,15,15,15,15,15,15,153170 .BYTE 15,15,15,15,15,15,15,153180 .BYTE 15,15,15,15,15,15,15,153190 .BYTE 15,15,15,15,15,R }15,15,153200 .BYTE 15,15,15,15,15,15,15,153210 .BYTE 15,15,15,15,15,15,15,153220 .BYTE 15,15,15,15,15,15,15,153230 .BR }YTE 15,15,15,15,15,15,153240 .BYTE $4F,$00,$703250 .BYTE 15,15,15,15,15,15,15,153260 .BYTE 15,15,15,15,15,15,15,153270R } .BYTE 15,15,15,15,15,15,15,153280 .BYTE 15,15,15,15,15,15,15,153290 .BYTE 15,15,15,15,15,15,15,153300 .BYTE 15,15,15,R }15,15,15,15,153310 .BYTE 15,15,15,15,15,15,15,153320 .BYTE 15,15,15,15,15,15,15,153330 .BYTE 15,15,15,15,15,15,15,1533R }40 .BYTE 15,15,15,15,15,15,15,153350 .BYTE 15,15,15,15,15,15,153360 .BYTE $41,$00,$7C3370 ;3380 *=$7D003390 .BYTE 1R}12,112,112,1123400 .BYTE $4F,$10,$403410 .BYTE 15,15,15,15,15,15,15,153420 .BYTE 15,15,15,15,15,15,15,153430 .BYTE 15R},15,15,15,15,15,15,153440 .BYTE 15,15,15,15,15,15,15,153450 .BYTE 15,15,15,15,15,15,15,153460 .BYTE 15,15,15,15,15,15,1R}5,153470 .BYTE 15,15,15,15,15,15,15,153480 .BYTE 15,15,15,15,15,15,15,153490 .BYTE 15,15,15,15,15,15,15,153500 .BYTE R}15,15,15,15,15,15,15,153510 .BYTE 15,15,15,15,15,15,15,153520 .BYTE 15,15,15,15,15,15,15,153530 .BYTE 15,15,15,15,1535R}40 .BYTE $4F,$00,$503550 .BYTE 15,15,15,15,15,15,15,153560 .BYTE 15,15,15,15,15,15,15,153570 .BYTE 15,15,15,15,15,15,1R}5,153580 .BYTE 15,15,15,15,15,15,15,153590 .BYTE 15,15,15,15,15,15,15,153600 .BYTE 15,15,15,15,15,15,15,153610 .BYTE R}15,15,15,15,15,15,15,153620 .BYTE 15,15,15,15,153630 .BYTE $41,$00,$7D3640 *=$7E003650 .BYTE 112,112,112,1123660 .BR}YTE $4F,$10,$603670 .BYTE 15,15,15,15,15,15,15,153680 .BYTE 15,15,15,15,15,15,15,153690 .BYTE 15,15,15,15,15,15,15,153R}700 .BYTE 15,15,15,15,15,15,15,153710 .BYTE 15,15,15,15,15,15,15,153720 .BYTE 15,15,15,15,15,15,15,153730 .BYTE 15,15,R}15,15,15,15,15,153740 .BYTE 15,15,15,15,15,15,15,153750 .BYTE 15,15,15,15,15,15,15,153760 .BYTE 15,15,15,15,15,15,15,15R}3770 .BYTE 15,15,15,15,15,15,15,153780 .BYTE 15,15,15,15,15,15,15,153790 .BYTE 15,15,15,15,153800 .BYTE $4F,$00,$703R}810 .BYTE 15,15,15,15,15,15,15,153820 .BYTE 15,15,15,15,15,15,15,153830 .BYTE 15,15,15,15,15,15,15,153840 .BYTE 15,15,R}15,15,15,15,15,153850 .BYTE 15,15,15,15,15,15,15,153860 .BYTE 15,15,15,15,15,15,15,153870 .BYTE 15,15,15,15,15,15,15,15R}3880 .BYTE 15,15,15,15,153890 .BYTE $41,$00,$7E3900 *=$2E03910 .WORD $80003920 ;START MOVIE FROM DOS,15,15,15Pt