home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Serious Magazine 11
/
Serious_Magazine_11_2002_Dial_pl_Disk_2_of_2_Side_B.atr
/
rom_01.lzh
/
CASSETTE.TXT
< prev
next >
Wrap
Text File
|
2002-05-26
|
6KB
|
1 lines
09 .OPT NO LIST¢10 ; SAVE #D1:CASSETTE.M65¢20 ;¢30 ;¢40 ; LOAD #D1:PRINTER.M65¢50 ;¢51 .PAGE "Cassette Handler"¢52 ; *= $FCD8¢60 LIST ¢80 .LOCAL ¢99 ; Most comments from 800 source¢064728 CIN JMP CLICK Cassette init¢064731 INITCAS LDA #$CC routine¢064733 STA CBAUDL followed by¢064736 LDA #5 cassette i/o¢064738 STA CBAUDH routines¢064741 SPECIAL.C RTS ¢064742 OPEN.C LDA ICAX2Z¢064744 STA FTYPE¢064746 LDA ICAX1Z¢064748 AND #$0C¢064750 CMP #4¢064752 BEQ DOCOPENI¢064754 CMP #8¢064756 BEQ DOCOPENO¢064758 RTS If already open leave status at 132¢064759 DOCOPENI LDA #0¢064761 STA WMODE Set read mode¢064764 STA FEOF No eof yet¢064766 LDA #1 Tone for press play¢064768 JSR ?BEEP¢064771 BMI ?OPNRTN If err during beep¢064773 MOTORON LDA #$34 Turn motor on¢064775 STA PACTL¢064778 LDX PALNTS¢064780 LDY ?65171,X Set leader time¢064783 LDA ?65169,X¢064786 TAX ¢064787 LDA #3¢064789 STA CDTMF3¢064792 JSR SETVBV Set vblank timer¢064795 ?WAITTM LDA CDTMF3¢064798 BNE ?WAITTM Wait for motor to come up to speed¢064800 LDA #$80 Number bytes in buffer¢064802 STA BPTR¢064804 STA BLIM¢064807 JMP ?OPOK¢064810 ?PBRK LDY #$80 Break abort¢064812 DEC BRKKEY Reset key¢064814 ?OPNRTN LDA #0 Clear write mode flag¢064816 STA WMODE¢064819 RTS ¢064820 DOCOPENO LDA #$80¢064822 STA WMODE set write mode¢064825 LDA #2 Record tone¢064827 JSR ?BEEP¢064830 BMI ?OPNRTN Error in beep¢064832 LDA #$CC Set baud rate¢064834 STA AUDF3¢064837 LDA #5¢064839 STA AUDF4¢064842 LDA #$60¢064844 STA DDEVIC¢064847 JSR SENDEV Tell pokey to write marks¢064850 LDA #$34 Write 5" blank tape¢064852 STA PACTL¢064855 LDX PALNTS¢064857 LDY ?65167,X Times for leader¢064860 LDA ?65165,X¢064863 TAX ¢064864 LDA #3¢064866 JSR SETVBV¢064869 LDA #$FF¢064871 STA CDTMF3¢064874 ?WDLR LDA BRKKEY¢064876 BEQ ?PBRK If break during leader¢064878 LDA CDTMF3¢064881 BNE ?WDLR¢064883 LDA #0 Init buffer pointer¢064885 STA BPTR¢064887 ?OPOK LDY #1¢064889 RTS ¢064890 GET.C LDA FEOF If eof¢064892 BMI ?ISEOF return status¢064894 LDX BPTR Buffer pointer¢064896 CPX BLIM If end of buffer¢064899 BEQ CREADBLK read another block¢064901 LDA CASBUF+3,X Get next byte¢064904 INC BPTR bump pointer¢064906 LDY #1 status ok¢064908 ?GBX RTS ¢064909 CREADBLK LDA #'R¢064911 JSR ?SIOSB¢064914 TYA ¢064915 BMI ?GBX exit on err¢064917 LDA #0 Reset pointer¢064919 STA BPTR¢064921 LDX #$80 Default bytes¢064923 LDA CASBUF+2¢064926 CMP #$FE If header¢064928 BEQ ?ATEOF go read again¢064930 CMP #$FA If last data record¢064932 BNE ?NLR¢064934 LDX CASBUF+130 Last record get # bytes¢064937 ?NLR STX BLIM¢064940 JMP GET.C Get next byte¢064943 ?ATEOF DEC FEOF Set flag¢064945 ?ISEOF LDY #136 End of file¢064947 RTS ¢064948 PUT.C LDX BPTR Pointer¢064950 STA CASBUF+3,X store character¢064953 INC BPTR Bump index¢064955 LDY #1 Status ok¢064957 CPX #127 If buffer full¢064959 BEQ ?WRTBF go write it¢064961 RTS ¢064962 ?WRTBF LDA #$FC Record type=data¢064964 JSR ?WSIOSB¢064967 LDA #0 Reset pointer¢064969 STA BPTR¢064971 RTS ¢064972 STATUS.C LDY #1¢064974 RTS ¢064975 CLOSE.C LDA WMODE If writing¢064978 BMI ?CLWRT go close for write¢064980 LDY #1 Success¢064982 ?FCAX LDA #$3C Stop motor in¢064984 STA PACTL case short irg mode¢064987 RTS ¢064988 ?CLWRT LDX BPTR If no data¢064990 BEQ ?WTLR no dt1 rec¢064992 STX CASBUF+130 Write to¢064995 LDA #$FA last record record type¢064997 JSR ?WSIOSB Write out buffer¢065000 BMI ?FCAX go if error¢065002 ?WTLR LDX #127¢065004 LDA #0 Clear buffer¢065006 ?ZTBUF STA CASBUF+3,X¢065009 DEX ¢065010 BPL ?ZTBUF¢065012 LDA #$FE Write wot record¢065014 JSR ?WSIOSB¢065017 JMP ?FCAX Flag closed and exit¢065020 ?BEEP STA FREQ¢065022 ?BEEP1 LDA RTCLOK+2¢065024 CLC ¢065025 LDX PALNTS¢065027 ADC ?65173,X¢065030 TAX ¢065031 ?WFL LDA #$FF¢065033 STA CONSOL Beep on¢065036 LDA #0¢065038 LDY #$F0¢065040 ?BWAIT DEY ¢065041 BNE ?BWAIT¢065043 STA CONSOL Beep off¢065046 LDY #$F0¢065048 ?BWAIT2 DEY ¢065049 BNE ?BWAIT2¢065051 CPX RTCLOK+2 One " yet?¢065053 BNE ?WFL no¢065055 DEC FREQ Count beeps¢065057 BEQ ?WFAK til done¢065059 TXA ¢065060 CLC ¢065061 LDX PALNTS¢065063 ADC ?65175,X¢065066 TAX ¢065067 ?BWAIT3 CPX RTCLOK+2¢065069 BNE ?BWAIT3¢065071 BEQ ?BEEP1¢065073 ?WFAK JSR ?WFAK1¢065076 TYA Wait for a key¢065077 RTS ¢065078 ?WFAK1 LDA KEYBDV+5¢065081 PHA ¢065082 LDA KEYBDV+4¢065085 PHA ¢065086 RTS ¢065087 ?SIOSB STA DCOMND¢065090 LDA #0¢065092 STA DBYTHI¢065095 LDA #131¢065097 STA DBYTLO¢065100 LDA # >CASBUF¢065102 STA DBUFHI¢065105 LDA # <CASBUF¢065107 STA DBUFLO¢065110 LDA #$60¢065112 STA DDEVIC¢065115 LDA #0¢065117 STA DUNIT¢065120 LDA #35¢065122 STA DTIMLO¢065125 LDA DCOMND¢065128 LDY #$40¢065130 CMP #'R¢065132 BEQ ?SETSTA¢065134 LDY #$80¢065136 ?SETSTA STY DSTATS¢065139 LDA FTYPE¢065141 STA DAUX2 Indicate irg mode¢065144 JSR SIOV¢065147 RTS ¢065148 ?WSIOSB STA CASBUF+2 Store type¢065151 LDA #$55¢065153 STA CASBUF¢065156 STA CASBUF+1¢065159 LDA #'W¢065161 JSR ?SIOSB¢065164 RTS ¢065165 ?65165 .BYTE 4,3 NTSC/PAL¢065167 ?65167 .BYTE 128,192 Values¢065169 ?65169 .BYTE 2,1 for beep¢065171 ?65171 .BYTE 64,224 and¢065173 ?65173 .BYTE 30,25 leader¢065175 ?65175 .BYTE 10,8¢