jiffydos.a65
1:
2:
3:
4:
5:
6:
7:
8: TapeIrqRead=$F92C
9: TapeIrqWrite=$FBCD
10: TapeIrqWritePreamble=$FC6A
11:
12:
13: JDLF72C:
14: ldy #$0C
15: jsr zCHRGOT
16: JDLF731:
17: cmp JDLF7DD,y
18: beq JDLF739
19: dey
20: bpl JDLF731
21: JDLF739:
22: rts
23: JDLF73A:
24: jsr kSETLFS
25: JDLF73D:
26: clc
27: php
28: ldx zFSBLK
29: cpx #$08
30: bcc JDLF749
31: JDLF745:
32: cpx #$1F
33: bcc JDLF750
34: JDLF749:
35: plp
36: bcs JDLF761
37: sec
38: php
39: ldx #$08
40: JDLF750:
41: stx zFSBLK
42: jsr LF2D9
43: bcc JDLF75A
44: inx
45: bne JDLF745
46: JDLF75A:
47: pla
48: JDLF75B:
49: rts
50:
51: JDLF75C:
52: jsr LF2DB
53: bcc JDLF75B
54: JDLF761:
55: ldx #$05
56: JDLF763:
57: cpx #$0B
58: beq JDLF76A
59: JDLF767:
60: jmp PatchErrorOut
61: JDLF76A:
62: jsr JDLF72C
63: bne JDLF767
64: sty $27
65: tax
66: bmi JDLF776
67: pla
68: pla
69: JDLF776:
70: jsr JDLF73D
71: jsr JDLF838
72: lda $27
73: ldy #$00
74: asl a
75: tax
76: lda JDLF7F5,x
77: sta $55
78: lda JDLF7F6,x
79: sta $56
80: JDLF78C:
81: jsr zJMPER
82: jsr bDATA
83: jsr LF2CC
84: lda zPTR2
85: jsr kCLOSE
86: JDLF79A:
87: jsr kCLRCHN
88: ldx $13
89: beq JDLF75B
90: .byte $2C
91: JDLF7A2:
92: ldx #$6F
93: jmp kCHKOUT
94: tya
95: iny
96: bit $98C8
97: sty zSA
98: ldx zTXTTAB
99: ldy $2C
100: jsr kLOAD
101: bcc JDLF7C0
102: jmp bBIOERR
103: JDLF7BA:
104: jmp ChkStatus
105: JDLF7BD:
106: jmp JDLE17E
107: JDLF7C0:
108: lda $27
109: cmp #$0B
110: beq JDLF7BD
111: bcs JDLF78C
112: cmp #$08
113: beq JDLF75B
114: bcc JDLF7BA
115: stx zVARTAB
116: sty $2E
117: pla
118: pla
119: jsr bCRDO
120: jsr bLINKPRG
121: jmp bRUN
122: JDLF7DD:
123: rti
124: .byte $5F
125: rol a
126: ldy $1222
127: .byte $2F
128: lda $5E25
129: ldx $5C27
130: .byte $44
131: jmp $2354
132: .byte $42
133: lsr $4F
134: bvc JDLF844
135: cli
136: .byte $47
137: JDLF7F5:
138: .byte $33
139: JDLF7F6:
140: sbc $59,x
141: sbc (zCURLIN,x)
142: .byte $FA
143: and $2BFA,y
144: .byte $F7
145: .byte $2B
146: .byte $F7
147: .byte $AB
148: .byte $F7
149: .byte $AB
150: .byte $F7
151: .byte $A7
152: .byte $F7
153: .byte $AB
154: .byte $F7
155: .byte $AB
156: .byte $F7
157: tax
158: .byte $F7
159: .byte $A7
160: .byte $F7
161: adc #$F5
162: .byte $D4
163: sed
164: rti
165: sbc $F1,x
166: sbc ($2C),y
167: sbc JDLE4C2,y
168: and $F8
169: .byte $97
170: .byte $FA
171: ldy $A0FC,x
172: .byte $FC
173: bit zROBUF
174: iny
175: tya
176: sta (zTXTTAB),y
177: jsr bLINKPRG
178: txa
179: adc #$02
180: tax
181: lda $23
182: adc #$00
183: tay
184: jmp JDLE1A7
185: JDLF838:
186: tya
187: bne JDLF853
188: sta zFNLEN
189: jsr zCHRGET
190: beq JDLF887
191: ldy #$17
192: JDLF844:
193: jsr JDLF731
194: bne JDLF858
195: cpy #$0D
196: bcc JDLF858
197: sty $27
198: cpy #$10
199: bcs JDLF887
200: JDLF853:
201: lda #$01
202: jsr JDLA8FC
203: JDLF858:
204: ldy #$FF
205: JDLF85A:
206: iny
207: lda (zTXTPTR),y
208: beq JDLF867
209: cmp #$22
210: beq JDLF872
211: cmp #$3A
212: bne JDLF85A
213: JDLF867:
214: bit zNSGFLG
215: bpl JDLF875
216: clc
217: jsr LAEBD
218: jmp JDLF878
219: JDLF872:
220: jsr LA8FB
221: JDLF875:
222: jsr bFRMEVL
223: JDLF878:
224: jsr JDLE25A
225: jsr zCHRGOT
226: cmp #$2C
227: bne JDLF887
228: jsr bGTBYTC
229: JDLF885:
230: stx zFA
231: JDLF887:
232: ldy #$00
233: bit zNSGFLG
234: bpl JDLF89A
235: JDLF88D:
236: lda (zPNT),y
237: cmp #$20
238: beq JDLF89A
239: lda #$0D
240: jsr CHROUT_SCREEN
241: bne JDLF88D
242: JDLF89A:
243: jsr JDLF75C
244: lda #$FF
245: jsr LB475
246: lda zFNLEN
247: ldx zFNADR
248: ldy $BC
249: jsr JDLB4C7
250: jsr bFRESTR
251: stx zFNADR
252: sty $BC
253: JDLF8B2:
254: jsr LF2CF
255: lda zFNLEN
256: ldx #$00
257: stx zFNLEN
258: ldx #$6F
259: bne JDLF8C3
260: JDLF8BF:
261: ldx #$6E
262: JDLF8C1:
263: lda zFNLEN
264: JDLF8C3:
265: stx zSA
266: stx zPTR2
267: JDLF8C7:
268: pha
269: stx zLA
270: jsr kCLRCHN
271: jsr kOPEN
272: pla
273: sta zFNLEN
274: JDLF8D3:
275: rts
276: jsr JDLF1E8
277: bne JDLF8D3
278: ldx #$00
279: ldy #$22
280: jsr JDLF8E4
281: ldy #$05
282: ldx #$22
283: JDLF8E4:
284: jsr JDLF0F4
285: jmp kCLRCHN
286: JDLF8EA:
287: sta CIA2
288: and #$08
289: beq JDLF910
290: lda zBSOUR
291: ror a
292: ror a
293: cpx #$02
294: bne JDLF910
295: ldx #$1E
296: JDLF8FB:
297: bit CIA2
298: bpl JDLF905
299: dex
300: bne JDLF8FB
301: beq JDLF90E
302: JDLF905:
303: bit CIA2
304: bpl JDLF905
305: ora #$40
306: sta zTSFCNT
307: JDLF90E:
308: ldx #$02
309: JDLF910:
310: rts
311: JDLF911:
312: ldy #$00
313: jsr JDLF0E2
314: JDLF916:
315: jsr JDLFCA9
316: bvs JDLF91D
317: bcc JDLF916
318: JDLF91D:
319: sty zFNLEN
320: lda zSTATUS
321: and #$82
322: rts
323: jsr bGTBYTC
324: txa
325: ldx #$2D
326: bne JDLF930
327: JDLF92C:
328: lda #$85
329: ldx #$27
330: JDLF930:
331: ldy #$06
332: JDLF932:
333: pha
334: jsr JDLF0F4
335: pla
336: jmp kCHROUT
337: JDLF93A:
338: ldx #$00
339: .byte $2C
340: JDLF93D:
341: ldx #$06
342: jsr bSTXPT
343: ldy #$05
344: lda (zTXTPTR),y
345: cmp #$12
346: bne JDLF9B0
347: pla
348: txa
349: pha
350: ldy #$23
351: JDLF94F:
352: ldx #$22
353: jsr JDLA917
354: dey
355: jsr LA8FB
356: pla
357: pha
358: beq JDLF96C
359: sta zPNTR
360: ldy #$01
361: JDLF960:
362: iny
363: jsr JDLF16A
364: cmp (zTXTPTR),y
365: bne JDLF977
366: sbc #$22
367: bne JDLF960
368: JDLF96C:
369: tay
370: lda (zTXTPTR),y
371: eor #$0A
372: sta (zTXTPTR),y
373: ldy #$04
374: sta (zPNT),y
375: JDLF977:
376: jsr bDATA
377: ldy #$05
378: sec
379: lda (zTXTPTR),y
380: sbc #$42
381: bne JDLF94F
382: ldy #$02
383: sta (zTXTPTR),y
384: pla
385: beq JDLF98D
386: lda #$8D
387: rts
388: JDLF98D:
389: jmp LA6A4
390: JDLF990:
391: bit zNSGFLG
392: bpl JDLF9B0
393: tsx
394: ldy $0107,x
395: cpy #$E1
396: bne JDLF9B0
397: cmp #$04
398: bne JDLF9B2
399: inc zFSBLK
400: jsr JDLF73D
401: lda #$00
402: jsr LBDCD
403: jsr bCRDO
404: jsr JDLF79A
405: JDLF9B0:
406: pla
407: rts
408: JDLF9B2:
409: cmp #$01
410: beq JDLF93A
411: cmp #$17
412: beq JDLF93D
413: ldy zPRTY
414: bne JDLF9B0
415: cmp #$8D
416: bcs JDLF9B0
417: cmp #$85
418: bcc JDLF9B0
419: pla
420: sbc #$85
421: tax
422: beq JDLF9D5
423: JDLF9CC:
424: iny
425: lda (zCMPO),y
426: bne JDLF9CC
427: dex
428: bne JDLF9CC
429: JDLF9D4:
430: iny
431: JDLF9D5:
432: lda (zCMPO),y
433: beq JDLF9E2
434: cmp #$0D
435: beq JDLF9E4
436: jsr CHROUT_SCREEN
437: bne JDLF9D4
438: JDLF9E2:
439: sta zQTSW
440: JDLF9E4:
441: rts
442: JDLF9E5:
443: jsr GETIN_KEYB
444: pha
445: ldx zQTSW
446: bne JDLFA37
447: ldx zINSRT
448: bne JDLFA37
449: cmp #$10
450: bne JDLF990
451: lda #$04
452: jsr kLISTEN
453: lda VIC + VICII_O_MemControl
454: and #$02
455: beq JDLFA03
456: lda #$07
457: JDLFA03:
458: ora #$60
459: jsr kSECOND
460: lda zPNTR
461: pha
462: lda zTBLX
463: pha
464: JDLFA0E:
465: ldy #$00
466: sty zQTSW
467: jsr JDLE50C
468: inc zLNMX
469: JDLFA17:
470: jsr JDLF16A
471: jsr iCIOUT
472: cmp #$0D
473: bne JDLFA17
474: inx
475: cpx #$19
476: bcs JDLFA2D
477: asl zLNMX
478: bpl JDLFA0E
479: inx
480: bne JDLFA0E
481: JDLFA2D:
482: jsr kUNLSN
483: pla
484: tax
485: pla
486: tay
487: jsr JDLE50C
488: JDLFA37:
489: pla
490: JDLFA38:
491: rts
492: sty zRESHO
493: jsr JDLF1E8
494: bne JDLFA38
495: jsr zCHRGOT
496: cmp #$52
497: bne JDLFA5A
498: JDLFA47:
499: dec zRESHO
500: lda zRESHO
501: jsr LF66B
502: jsr JDLE4C6
503: beq JDLFA47
504: lda #$00
505: jsr LF66B
506: lda #$4C
507: JDLFA5A:
508: pha
509: ldx zMYCH
510: cpx zFA
511: beq JDLFA37
512: jsr JDLF885
513: ldx #$37
514: ldy #$02
515: jsr JDLF0F4
516: jsr OutputFilename
517: lda #$2C
518: sta (zFNADR),y
519: iny
520: pla
521: sta (zFNADR),y
522: iny
523: lda #$2C
524: sta (zFNADR),y
525: iny
526: lda zRESHO
527: pha
528: bne JDLFA83
529: lda #$57
530: JDLFA83:
531: sta (zFNADR),y
532: iny
533: sty zFNLEN
534: ldy #$0C
535: JDLFA8A:
536: jsr JDLFAB2
537: jsr JDLF73D
538: jsr JDLF8B2
539: pla
540: jsr LF541
541: lda $13
542: beq JDLFAA7
543: cmp #$7F
544: bne JDLFA38
545: jsr LABB7
546: lda #$7F
547: jmp kCLOSE
548: JDLFAA7:
549: ldx #$04
550: jsr zCHRGET
551: jsr JDLE229
552: jsr JDLF75C
553: JDLFAB2:
554: sty zSA
555: ldx #$7F
556: stx $13
557: lda zFNLEN
558: jmp JDLF8C7
559: tax
560: bne JDLFA8A
561: lda zNXTBIT
562: beq JDLFACE
563: JDLFAC4:
564: jsr OutputLoadingOrVerify
565: tsx
566: lda $0102,x
567: cmp #$F7
568: .byte $D0
569: JDLFACE:
570: php
571: lda zEAL
572: sta $55
573: lda $AF
574: sta $56
575: bit zTSFCNT
576: bmi JDLFADE
577: jmp LF4F3
578: JDLFADE:
579: sei
580: ldy #$03
581: JDLFAE1:
582: lda $AF,y
583: pha
584: dey
585: bne JDLFAE1
586: lda VIC + VICII_O_SprEnable
587: sta zCMPO
588: jsr JDLF0D8
589: JDLFAF0:
590: jsr iUDTIM_CheckRunStop
591: bpl JDLFB27
592: lda VIC + VICII_O_ControlReg1
593: and #$07
594: clc
595: adc #$2F
596: sta $B1
597: lda CIA2
598: and #$07
599: sta zTAPE1
600: sta CIA2
601: ora #$20
602: tax
603: JDLFB0C:
604: bit CIA2
605: bvc JDLFB0C
606: bpl JDLFB3E
607: ldx #$64
608: JDLFB15:
609: bit CIA2
610: bvc JDLFB20
611: dex
612: bne JDLFB15
613: lda #$42
614: .byte $2C
615: JDLFB20:
616: lda #$40
617: jsr SetStatus
618: clc
619: .byte $24
620: JDLFB27:
621: sec
622: lda zCMPO
623: sta VIC + VICII_O_SprEnable
624: pla
625: sta zCMPO
626: pla
627: sta $B1
628: pla
629: sta zTAPE1
630: bcs JDLFB3B
631: jmp KLOAD_UntalkClose
632:
633: JDLFB3B:
634: jmp IecCloseBecauseStopKey
635: JDLFB3E:
636: bit CIA2
637: bpl JDLFB3E
638: sec
639: JDLFB44:
640: lda VIC + VICII_O_Raster
641: sbc $B1
642: bcc JDLFB4F
643: and #$07
644: beq JDLFB44
645: JDLFB4F:
646: lda zTAPE1
647: stx CIA2
648: bit CIA2
649: bvc JDLFAF0
650: nop
651: sta CIA2
652: ora CIA2
653: lsr a
654: lsr a
655: nop
656: ora CIA2
657: lsr a
658: lsr a
659: eor zTAPE1
660: eor CIA2
661: lsr a
662: lsr a
663: eor zTAPE1
664: eor CIA2
665: cpy zVERCKK
666: bne JDLFB83
667: sta (zEAL),y
668: JDLFB7A:
669: inc zEAL
670: bne JDLFB44
671: inc zEAL + 1
672: jmp JDLFB44
673: JDLFB83:
674: cmp (zEAL),y
675: beq JDLFB7A
676: sec
677: lda #$10
678: sta zSTATUS
679: bne JDLFB7A
680:
681: Copy_zSTAL_to_zSAL:
682: lda zSTAL + 1
683: sta zSAL + 1
684: lda zSTAL
685: sta zSAL
686: rts
687:
688:
689: JDLFB97:
690: pha
691: jsr JDLF0D8
692: jsr JDLFBB4
693: pla
694: sta VIC + VICII_O_SprEnable
695: lda zTBTCNT
696: rts
697: JDLFBA5:
698: lda #$00
699: jmp JDiACPTR
700: JDLFBAA:
701: sei
702: bit zTSFCNT
703: bvc JDLFBA5
704: lda VIC + VICII_O_SprEnable
705: bne JDLFB97
706: JDLFBB4:
707: lda CIA2
708: cmp #$40
709: bcc JDLFBB4
710: and #$07
711: pha
712: JDLFBBE:
713: lda VIC + VICII_O_Raster
714: sbc VIC + VICII_O_ControlReg1
715: and #$07
716: cmp #$07
717: bcs JDLFBBE
718: pla
719: .byte $8D
720: brk
721: JDLFBCD:
722: cmp $A485,x
723: ora #$20
724: pha
725: nop
726: nop
727: ora CIA2
728: lsr a
729: lsr a
730: nop
731: ora CIA2
732: lsr a
733: lsr a
734: eor zTBTCNT
735: eor CIA2
736: lsr a
737: lsr a
738: eor zTBTCNT
739: eor CIA2
740: sta zTBTCNT
741: pla
742: bit CIA2
743: sta CIA2
744: bvc JDLFC22
745: bpl JDLFC1D
746: lda #$42
747: jmp IecSetStatusAndFreeBus
748: JDLFBFE:
749: sei
750: bit zTSFCNT
751: bvc JDLFC14
752: JDLFC03:
753: lda VIC + VICII_O_SprEnable
754: beq JDLFC27
755: pha
756: jsr JDLF0D8
757: jsr JDLFC27
758: pla
759: sta VIC + VICII_O_SprEnable
760: rts
761: JDLFC14:
762: lda zTSFCNT
763: cmp #$A0
764: bcs JDLFC03
765: jmp IecOutputByte
766: JDLFC1D:
767: lda #$40
768: jsr SetStatus
769: JDLFC22:
770: lda zTBTCNT
771: JDLFC24:
772: cli
773: clc
774: rts
775: JDLFC27:
776: txa
777: pha
778: lda zBSOUR
779: and #$F0
780: pha
781: lda zBSOUR
782: and #$0F
783: tax
784: JDLFC33:
785: lda CIA2
786: bpl JDLFC33
787: and #$07
788: sta zBSOUR
789: sec
790: JDLFC3D:
791: lda VIC + VICII_O_Raster
792: sbc VIC + VICII_O_ControlReg1
793: and #$07
794: cmp #$06
795: bcs JDLFC3D
796: lda zBSOUR
797: sta CIA2
798: pla
799: ora zBSOUR
800: sta CIA2
801: lsr a
802: lsr a
803: and #$F0
804: ora zBSOUR
805: sta CIA2
806: lda JDLFC8A,x
807: ora zBSOUR
808: sta CIA2
809: lsr a
810: lsr a
811: and #$F0
812: .byte $05
813: JDLFC6A:
814: sta $8D,x
815: brk
816: cmp $0F29,x
817: bit zTSFCNT
818: bmi JDLFC76
819: ora #$10
820: JDLFC76:
821: sta CIA2
822: pla
823: tax
824: lda zBSOUR
825: ora #$10
826: sta CIA2
827: bit CIA2
828: bpl JDLFC24
829: jmp SendTimeout
830:
831:
832:
833: JDLFC8A:
834: .byte $00,$80,$20,$A0
835: .byte $40,$C0,$60,$E0
836: .byte $10,$90,$30,$B0
837: .byte $50,$D0,$70,$F0
838:
839: JDLFC9A:
840: jsr JDLF7A2
841: jmp OutputFilename
842: jsr bGTBYTC
843: stx zMYCH
844: rts
845: JDLFCA6:
846: jsr JDLF0E2
847: JDLFCA9:
848: jsr kCHRIN
849: sta (zFNADR),y
850: iny
851: bit zSTATUS
852: bvs JDLFCBB
853: cpy #$FE
854: bcs JDLFCBB
855: cmp #$01
856: bcs JDLFCA9
857: JDLFCBB:
858: rts
859: ldx #$05
860: JDLFCBE:
861: lda LF1A3,x
862: sta lIERROR,x
863: dex
864: JDLFCC5:
865: bpl JDLFCBE
866: stx zPRTY
867: rts
868: lda zCNTDN
869: ora ($29,x)
870: sbc $0185,x
871:
872:
873:
874:
875:
876:
877:
878:
879:
880:
881:
882:
883:
884:
885:
886:
887:
888:
889:
890:
891: HasEndAddressBeenReached:
892: sec
893: lda zSAL
894: sbc zEAL
895: lda zSAL + 1
896: sbc zEAL + 1
897: rts
898:
899:
900:
901:
902:
903:
904: Increment_zSAL_Address:
905: inc zSAL
906: bne @Rts
907: inc zSAL + 1
908: @Rts:
909: rts
910:
911:

jiffydos.a65.html; generated on Fri Sep 18 21:44:54 2015 by ca65html
uz@cc65.org