Home » CEEFAX disks » telesoftware8.adl » 19-08-88/WRITE10

19-08-88/WRITE10

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » CEEFAX disks » telesoftware8.adl
Filename: 19-08-88/WRITE10
Read OK:
File size: 0269 bytes
Load address: 0800
Exec address: 802B
File contents
   10REM: WRITE10
   20mcode = &0A00
   30osword=&FFF1
   40page = PAGE
   50FORpass=0 TO 2 STEP 2
   60P%=mcode
   70[OPT pass
   80LDA #&7F
   90LDX #block MOD 256
  100LDY #block DIV 256
  110JSR osword
  120LDA result
  130BEQ ok
  140BRK
  150BRK
  160EQUS "Write error"
  170.ok
  180BRK
  190EQUS "Write sucessful"
  200BRK
  210BRK
  220.block
  230EQUB &FF \ current drive
  240EQUD page \ start at PAGE
  250EQUB &03 \ 3 parameters
  260EQUB &4B \ write data multi-sector
  270EQUB &01 \ logical track 1
  280EQUB &00 \ start logical sector 0
  290EQUB &2A \ 10 sectors of 256 bytes
  300.result
  310EQUB &00 \ result byte
  320]
  330NEXT
  340PRINT''"Type: CALL &";~mcode;" to save 10 sectors"'

�: WRITE10
mcode = &0A00
osword=&FFF1
(page = �
2�pass=0 � 2 � 2
<P%=mcode
F
[OPT pass
PLDA #&7F
ZLDX #block � 256
dLDY #block � 256
nJSR osword
xLDA result
�
BEQ ok
�BRK
�BRK
�EQUS "Write error"
�.ok
�BRK
�EQUS "Write sucessful"
�BRK
�BRK
�
.block
�EQUB &FF \ current drive
�EQUD page \ start at �
�EQUB &03 \ 3 parameters
&EQUB &4B \ write data multi-sector
EQUB &01 \ logical track 1
%EQUB &00 \ start logical sector 0
"&EQUB &2A \ 10 sectors of 256 bytes
,.result
6EQUB &00 \ result byte
@]
J�
T3�''"Type: CALL &";~mcode;" to save 10 sectors"'
�
00000000  0d 00 0a 0e f4 3a 20 57  52 49 54 45 31 30 0d 00  |.....: WRITE10..|
00000010  14 11 6d 63 6f 64 65 20  3d 20 26 30 41 30 30 0d  |..mcode = &0A00.|
00000020  00 1e 10 6f 73 77 6f 72  64 3d 26 46 46 46 31 0d  |...osword=&FFF1.|
00000030  00 28 0c 70 61 67 65 20  3d 20 90 0d 00 32 13 e3  |.(.page = ...2..|
00000040  70 61 73 73 3d 30 20 b8  20 32 20 88 20 32 0d 00  |pass=0 . 2 . 2..|
00000050  3c 0c 50 25 3d 6d 63 6f  64 65 0d 00 46 0d 5b 4f  |<.P%=mcode..F.[O|
00000060  50 54 20 70 61 73 73 0d  00 50 0c 4c 44 41 20 23  |PT pass..P.LDA #|
00000070  26 37 46 0d 00 5a 14 4c  44 58 20 23 62 6c 6f 63  |&7F..Z.LDX #bloc|
00000080  6b 20 83 20 32 35 36 0d  00 64 14 4c 44 59 20 23  |k . 256..d.LDY #|
00000090  62 6c 6f 63 6b 20 81 20  32 35 36 0d 00 6e 0e 4a  |block . 256..n.J|
000000a0  53 52 20 6f 73 77 6f 72  64 0d 00 78 0e 4c 44 41  |SR osword..x.LDA|
000000b0  20 72 65 73 75 6c 74 0d  00 82 0a 42 45 51 20 6f  | result....BEQ o|
000000c0  6b 0d 00 8c 07 42 52 4b  0d 00 96 07 42 52 4b 0d  |k....BRK....BRK.|
000000d0  00 a0 16 45 51 55 53 20  22 57 72 69 74 65 20 65  |...EQUS "Write e|
000000e0  72 72 6f 72 22 0d 00 aa  07 2e 6f 6b 0d 00 b4 07  |rror".....ok....|
000000f0  42 52 4b 0d 00 be 1a 45  51 55 53 20 22 57 72 69  |BRK....EQUS "Wri|
00000100  74 65 20 73 75 63 65 73  73 66 75 6c 22 0d 00 c8  |te sucessful"...|
00000110  07 42 52 4b 0d 00 d2 07  42 52 4b 0d 00 dc 0a 2e  |.BRK....BRK.....|
00000120  62 6c 6f 63 6b 0d 00 e6  1c 45 51 55 42 20 26 46  |block....EQUB &F|
00000130  46 20 5c 20 63 75 72 72  65 6e 74 20 64 72 69 76  |F \ current driv|
00000140  65 0d 00 f0 1a 45 51 55  44 20 70 61 67 65 20 5c  |e....EQUD page \|
00000150  20 73 74 61 72 74 20 61  74 20 90 0d 00 fa 1b 45  | start at .....E|
00000160  51 55 42 20 26 30 33 20  5c 20 33 20 70 61 72 61  |QUB &03 \ 3 para|
00000170  6d 65 74 65 72 73 0d 01  04 26 45 51 55 42 20 26  |meters...&EQUB &|
00000180  34 42 20 5c 20 77 72 69  74 65 20 64 61 74 61 20  |4B \ write data |
00000190  6d 75 6c 74 69 2d 73 65  63 74 6f 72 0d 01 0e 1e  |multi-sector....|
000001a0  45 51 55 42 20 26 30 31  20 5c 20 6c 6f 67 69 63  |EQUB &01 \ logic|
000001b0  61 6c 20 74 72 61 63 6b  20 31 0d 01 18 25 45 51  |al track 1...%EQ|
000001c0  55 42 20 26 30 30 20 5c  20 73 74 61 72 74 20 6c  |UB &00 \ start l|
000001d0  6f 67 69 63 61 6c 20 73  65 63 74 6f 72 20 30 0d  |ogical sector 0.|
000001e0  01 22 26 45 51 55 42 20  26 32 41 20 5c 20 31 30  |."&EQUB &2A \ 10|
000001f0  20 73 65 63 74 6f 72 73  20 6f 66 20 32 35 36 20  | sectors of 256 |
00000200  62 79 74 65 73 0d 01 2c  0b 2e 72 65 73 75 6c 74  |bytes..,..result|
00000210  0d 01 36 1a 45 51 55 42  20 26 30 30 20 5c 20 72  |..6.EQUB &00 \ r|
00000220  65 73 75 6c 74 20 62 79  74 65 0d 01 40 05 5d 0d  |esult byte..@.].|
00000230  01 4a 05 ed 0d 01 54 33  f1 27 27 22 54 79 70 65  |.J....T3.''"Type|
00000240  3a 20 43 41 4c 4c 20 26  22 3b 7e 6d 63 6f 64 65  |: CALL &";~mcode|
00000250  3b 22 20 74 6f 20 73 61  76 65 20 31 30 20 73 65  |;" to save 10 se|
00000260  63 74 6f 72 73 22 27 0d  ff                       |ctors"'..|
00000269
19-08-88/WRITE10.m0
19-08-88/WRITE10.m1
19-08-88/WRITE10.m2
19-08-88/WRITE10.m4
19-08-88/WRITE10.m5