Write Sector example#
0100 ;*************************************** 0110 ;* Demonstration 1 fuer Kommando $50 * 0120 ;*************************************** 0130 ; 0140 DATBUF = $5000 0150 SECNUM = 1 0160 ; 0170 .OPT NO LIST 0180 .OPT OBJ 0190 *= $4000 0200 ; 0210 LDA #$31 ; Bus ID 0220 STA $0300 0230 LDA #1 ; Laufwerks Nummer = 1 0240 STA $0301 0250 LDA #$50 ; Kommando $50 0260 STA $0302 0270 LDA #$80 ; Status fuer Daten schreiben 0280 STA $0303 0290 LDA # <DATBUF ; Adresse fuer Datenbuffer Low 0300 STA $0304 0310 LDA # >DATBUF ; Adresse fuer Datenbuffer High 0320 STA $0305 0330 LDA #7 ; Wert fuer Timeout = 7 Sekunden 0340 STA $0306 0350 LDA #$80 ; 128 Bytes (in SD+MD) schreiben 0360 STA $0308 0370 LDA #0 0380 STA $0309 0390 LDA # <SECNUM ; Sector Nummer Low Byte 0400 STA $030A 0410 LDA # >SECNUM ; Sector Nummer High Byte 0420 STA $030B 0430 JSR $E459 ; Einsprung der SIO-Routine im OS 0440 BMI ERROR 0450 CLC 0460 RTS 0470 ERROR SEC 0480 RTS
0100 ;*************************************** 0110 ;* Demonstration 2 fuer Kommando $50 * 0120 ;*************************************** 0130 ; 0140 PRGBUF = $8000 0150 ; 0160 .OPT NO LIST 0170 .OPT OBJ 0180 *= $4000 0190 ; 0200 LDA #$31 ; Bus ID 0210 STA $0300 0220 LDA #1 ; Laufwerks Nummer = 1 0230 STA $0301 0240 LDA #$50 ; Kommando $50 Sector ohne Verify schreiben 0250 STA $0302 0260 LDA #$80 ; Status fuer Daten schreiben 0270 STA $0303 0280 LDA # <DATBUF ; Adresse fuer Datenbuffer Low 0290 STA $0304 0300 LDA # >DATBUF ; Adresse fuer Datenbuffer High 0310 STA $0305 0320 LDA #7 ; Wert fuer Timeout = 7 Sekunden 0330 STA $0306 0340 LDA #$80 ; 128 Bytes (in SD+MD) schreiben 0350 STA $0308 0360 LDA #0 0370 STA $0309 0380 LDA # <PRGBUF ; Adresse fuer Programmbuffer Low 0390 STA $030A 0400 LDA # >PRGBUF ; Adresse fuer Programmbuffer High 0410 STA $030B 0420 JSR $E459 ; Einsprung der SIO-Routine im OS 0430 BMI ERROR 0440 CLC 0450 RTS 0460 ERROR SEC 0470 RTS 0480 ; 0490 DATBUF 0500 LDA #$FA 0510 JMP $FFA5 ; HEXOUT