Home » Personal collection » Acorn ADFS disks » Electron » Finished_programs.ADF » BackupSRC

BackupSRC

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 » Personal collection » Acorn ADFS disks » Electron » Finished_programs.ADF
Filename: BackupSRC
Read OK:
File size: 074F bytes
Load address: FFFF0E00
Exec address: FFFF8023
Duplicates

There are 2 duplicate copies of this file in the archive:

File contents
   10REM Fast Backup
   20REM Electron User Feb. '86
   40track=&70:count=&71:address=&72:temp=&74
   50oswrch=&FFEE:osrdch=&FFE0:oscli=&FFF7:osword=&FFF1:osbyte=&FFF4:osasci=&FFE3
   60FOR pass=0 TO 2 STEP 2
   70P%=&B00
   80[OPT pass
   90LDA#22:JSRoswrch:LDA#6:JSRoswrch
  100JSRstring:EQUB28:EQUB1:EQUB24:EQUB39:EQUB24:EQUB0
  110LDA#0:STAtrack:LDA#6:STAnumber+1
  120.loop1
  130JSRstring:EQUB&0D:EQUS"Insert source":EQUB0:JSRkey
  140JSRstring:EQUB&0D:EQUS"Reading":EQUB0
  150LDA#8:STAcode+1:JSRread_write
  160JSRstring:EQUB&0D:EQUS"Insert dest.":EQUB0:JSRkey
  170JSRstring:EQUB&0D:EQUS"Writing":EQUB0
  180LDA#10:STAcode+1:JSRread_write
  190CLC:LDAtrack:ADC#6:STAtrack
  200CMP#80:BCSdone
  210CMP#78:BNEloop1
  220LDA#2:STAnumber+1:JMPloop1
  230.done RTS
  250.read_write
  260.number LDA#0:STAcount
  270LDA#0:STAaddress:LDA#&1D:STAaddress+1
  280LDAtrack:PHA
  290.loop
  300.code LDA#8:STAblock+5
  310JSR FDC
  320DECcount:BNEloop
  330PLA:STAtrack
  340RTS
  360.FDC
  370LDA#32:JSRoswrch:LDAtrack:JSRhexprint
  380LDA#0:STAblock
  390STAblock+4:STAblock+3
  400LDAaddress:STAblock+1:LDAaddress+1:STAblock+2
  410CLC:ADC#&10:STAaddress+1
  420LDAtrack:STAblock+8:LDA#0:STAblock+7:STAblock+6
  430INCtrack
  440LDY#4:.loop ASLblock+8:ROLblock+7:DEY:BNEloop
  450LDA#16:STAblock+9
  460LDA#&72:LDX#block MOD256:LDY#block DIV256:JSRosword
  470LDAblock:BNEerror:RTS
  480.error STAerr:LDA#22:JSRoswrch:LDA#6:JSRoswrch
  490BRK:.err EQUB0:EQUS"Disc error":BRK
  510.key
  520LDA#21:LDX#0:LDY#0:JSRosbyte
  530JSRstring:EQUS" :Press a key":EQUB0
  540JSRosrdch
  550LDX#mount MOD256:LDY#mount DIV256:JMPoscli
  570.mount EQUS"MOUNT":EQUB&0D
  590.string
  600PLA:STAtemp:PLA:STAtemp+1
  610LDY#0:BEQps2
  620.ps LDA(temp),Y:BEQps1:JSRosasci
  630.ps2 INCtemp:BNEps:INCtemp+1:BNEps
  640.ps1 LDAtemp+1:PHA:LDAtemp:PHA
  650RTS
  670.hexprint
  680PHA:LSR A:LSR A:LSR A:LSR A:JSRprintit
  690PLA
  700.printit
  710AND#&0F
  720SED:CLC:ADC#&90:ADC#&40:CLD
  730JMPoswrch
  750.block EQUD0:EQUD0:EQUW0
  760]
  770NEXT

� Fast Backup
� Electron User Feb. '86
(,track=&70:count=&71:address=&72:temp=&74
2Poswrch=&FFEE:osrdch=&FFE0:oscli=&FFF7:osword=&FFF1:osbyte=&FFF4:osasci=&FFE3
<� pass=0 � 2 � 2
FP%=&B00
P
[OPT pass
Z$LDA#22:JSRoswrch:LDA#6:JSRoswrch
d5JSRstring:EQUB28:EQUB1:EQUB24:EQUB39:EQUB24:EQUB0
n$LDA#0:STAtrack:LDA#6:STAnumber+1
x
.loop1
�6JSRstring:EQUB&0D:EQUS"Insert source":EQUB0:JSRkey
�)JSRstring:EQUB&0D:EQUS"Reading":EQUB0
�!LDA#8:STAcode+1:JSRread_write
�5JSRstring:EQUB&0D:EQUS"Insert dest.":EQUB0:JSRkey
�)JSRstring:EQUB&0D:EQUS"Writing":EQUB0
�"LDA#10:STAcode+1:JSRread_write
�CLC:LDAtrack:ADC#6:STAtrack
�CMP#80:BCSdone
�CMP#78:BNEloop1
�LDA#2:STAnumber+1:JMPloop1
�
.done RTS
�.read_write
.number LDA#0:STAcount
)LDA#0:STAaddress:LDA#&1D:STAaddress+1
LDAtrack:PHA
"	.loop
,.code LDA#8:STAblock+5
6JSR FDC
@DECcount:BNEloop
JPLA:STAtrack
TRTS
h.FDC
r)LDA#32:JSRoswrch:LDAtrack:JSRhexprint
|LDA#0:STAblock
�STAblock+4:STAblock+3
�1LDAaddress:STAblock+1:LDAaddress+1:STAblock+2
�CLC:ADC#&10:STAaddress+1
�3LDAtrack:STAblock+8:LDA#0:STAblock+7:STAblock+6
�INCtrack
�1LDY#4:.loop ASLblock+8:ROLblock+7:DEY:BNEloop
�LDA#16:STAblock+9
�3LDA#&72:LDX#block �256:LDY#block �256:JSRosword
�LDAblock:BNEerror:RTS
�2.error STAerr:LDA#22:JSRoswrch:LDA#6:JSRoswrch
�'BRK:.err EQUB0:EQUS"Disc error":BRK
�.key
 LDA#21:LDX#0:LDY#0:JSRosbyte
'JSRstring:EQUS" :Press a key":EQUB0

JSRosrdch
&*LDX#mount �256:LDY#mount �256:JMPoscli
:.mount EQUS"MOUNT":EQUB&0D
N.string
XPLA:STAtemp:PLA:STAtemp+1
bLDY#0:BEQps2
l$.ps LDA(temp),Y:BEQps1:JSRosasci
v&.ps2 INCtemp:BNEps:INCtemp+1:BNEps
�".ps1 LDAtemp+1:PHA:LDAtemp:PHA
�RTS
�
.hexprint
�*PHA:LSR A:LSR A:LSR A:LSR A:JSRprintit
�PLA
�.printit
�	�#&0F
�SED:CLC:ADC#&90:ADC#&40:CLD
�
JMPoswrch
�.block EQUD0:EQUD0:EQUW0
�]
�
�
00000000  0d 00 0a 11 f4 20 46 61  73 74 20 42 61 63 6b 75  |..... Fast Backu|
00000010  70 0d 00 14 1c f4 20 45  6c 65 63 74 72 6f 6e 20  |p..... Electron |
00000020  55 73 65 72 20 46 65 62  2e 20 27 38 36 0d 00 28  |User Feb. '86..(|
00000030  2c 74 72 61 63 6b 3d 26  37 30 3a 63 6f 75 6e 74  |,track=&70:count|
00000040  3d 26 37 31 3a 61 64 64  72 65 73 73 3d 26 37 32  |=&71:address=&72|
00000050  3a 74 65 6d 70 3d 26 37  34 0d 00 32 50 6f 73 77  |:temp=&74..2Posw|
00000060  72 63 68 3d 26 46 46 45  45 3a 6f 73 72 64 63 68  |rch=&FFEE:osrdch|
00000070  3d 26 46 46 45 30 3a 6f  73 63 6c 69 3d 26 46 46  |=&FFE0:oscli=&FF|
00000080  46 37 3a 6f 73 77 6f 72  64 3d 26 46 46 46 31 3a  |F7:osword=&FFF1:|
00000090  6f 73 62 79 74 65 3d 26  46 46 46 34 3a 6f 73 61  |osbyte=&FFF4:osa|
000000a0  73 63 69 3d 26 46 46 45  33 0d 00 3c 14 e3 20 70  |sci=&FFE3..<.. p|
000000b0  61 73 73 3d 30 20 b8 20  32 20 88 20 32 0d 00 46  |ass=0 . 2 . 2..F|
000000c0  0b 50 25 3d 26 42 30 30  0d 00 50 0d 5b 4f 50 54  |.P%=&B00..P.[OPT|
000000d0  20 70 61 73 73 0d 00 5a  24 4c 44 41 23 32 32 3a  | pass..Z$LDA#22:|
000000e0  4a 53 52 6f 73 77 72 63  68 3a 4c 44 41 23 36 3a  |JSRoswrch:LDA#6:|
000000f0  4a 53 52 6f 73 77 72 63  68 0d 00 64 35 4a 53 52  |JSRoswrch..d5JSR|
00000100  73 74 72 69 6e 67 3a 45  51 55 42 32 38 3a 45 51  |string:EQUB28:EQ|
00000110  55 42 31 3a 45 51 55 42  32 34 3a 45 51 55 42 33  |UB1:EQUB24:EQUB3|
00000120  39 3a 45 51 55 42 32 34  3a 45 51 55 42 30 0d 00  |9:EQUB24:EQUB0..|
00000130  6e 24 4c 44 41 23 30 3a  53 54 41 74 72 61 63 6b  |n$LDA#0:STAtrack|
00000140  3a 4c 44 41 23 36 3a 53  54 41 6e 75 6d 62 65 72  |:LDA#6:STAnumber|
00000150  2b 31 0d 00 78 0a 2e 6c  6f 6f 70 31 0d 00 82 36  |+1..x..loop1...6|
00000160  4a 53 52 73 74 72 69 6e  67 3a 45 51 55 42 26 30  |JSRstring:EQUB&0|
00000170  44 3a 45 51 55 53 22 49  6e 73 65 72 74 20 73 6f  |D:EQUS"Insert so|
00000180  75 72 63 65 22 3a 45 51  55 42 30 3a 4a 53 52 6b  |urce":EQUB0:JSRk|
00000190  65 79 0d 00 8c 29 4a 53  52 73 74 72 69 6e 67 3a  |ey...)JSRstring:|
000001a0  45 51 55 42 26 30 44 3a  45 51 55 53 22 52 65 61  |EQUB&0D:EQUS"Rea|
000001b0  64 69 6e 67 22 3a 45 51  55 42 30 0d 00 96 21 4c  |ding":EQUB0...!L|
000001c0  44 41 23 38 3a 53 54 41  63 6f 64 65 2b 31 3a 4a  |DA#8:STAcode+1:J|
000001d0  53 52 72 65 61 64 5f 77  72 69 74 65 0d 00 a0 35  |SRread_write...5|
000001e0  4a 53 52 73 74 72 69 6e  67 3a 45 51 55 42 26 30  |JSRstring:EQUB&0|
000001f0  44 3a 45 51 55 53 22 49  6e 73 65 72 74 20 64 65  |D:EQUS"Insert de|
00000200  73 74 2e 22 3a 45 51 55  42 30 3a 4a 53 52 6b 65  |st.":EQUB0:JSRke|
00000210  79 0d 00 aa 29 4a 53 52  73 74 72 69 6e 67 3a 45  |y...)JSRstring:E|
00000220  51 55 42 26 30 44 3a 45  51 55 53 22 57 72 69 74  |QUB&0D:EQUS"Writ|
00000230  69 6e 67 22 3a 45 51 55  42 30 0d 00 b4 22 4c 44  |ing":EQUB0..."LD|
00000240  41 23 31 30 3a 53 54 41  63 6f 64 65 2b 31 3a 4a  |A#10:STAcode+1:J|
00000250  53 52 72 65 61 64 5f 77  72 69 74 65 0d 00 be 1f  |SRread_write....|
00000260  43 4c 43 3a 4c 44 41 74  72 61 63 6b 3a 41 44 43  |CLC:LDAtrack:ADC|
00000270  23 36 3a 53 54 41 74 72  61 63 6b 0d 00 c8 12 43  |#6:STAtrack....C|
00000280  4d 50 23 38 30 3a 42 43  53 64 6f 6e 65 0d 00 d2  |MP#80:BCSdone...|
00000290  13 43 4d 50 23 37 38 3a  42 4e 45 6c 6f 6f 70 31  |.CMP#78:BNEloop1|
000002a0  0d 00 dc 1e 4c 44 41 23  32 3a 53 54 41 6e 75 6d  |....LDA#2:STAnum|
000002b0  62 65 72 2b 31 3a 4a 4d  50 6c 6f 6f 70 31 0d 00  |ber+1:JMPloop1..|
000002c0  e6 0d 2e 64 6f 6e 65 20  52 54 53 0d 00 fa 0f 2e  |...done RTS.....|
000002d0  72 65 61 64 5f 77 72 69  74 65 0d 01 04 1a 2e 6e  |read_write.....n|
000002e0  75 6d 62 65 72 20 4c 44  41 23 30 3a 53 54 41 63  |umber LDA#0:STAc|
000002f0  6f 75 6e 74 0d 01 0e 29  4c 44 41 23 30 3a 53 54  |ount...)LDA#0:ST|
00000300  41 61 64 64 72 65 73 73  3a 4c 44 41 23 26 31 44  |Aaddress:LDA#&1D|
00000310  3a 53 54 41 61 64 64 72  65 73 73 2b 31 0d 01 18  |:STAaddress+1...|
00000320  10 4c 44 41 74 72 61 63  6b 3a 50 48 41 0d 01 22  |.LDAtrack:PHA.."|
00000330  09 2e 6c 6f 6f 70 0d 01  2c 1a 2e 63 6f 64 65 20  |..loop..,..code |
00000340  4c 44 41 23 38 3a 53 54  41 62 6c 6f 63 6b 2b 35  |LDA#8:STAblock+5|
00000350  0d 01 36 0b 4a 53 52 20  46 44 43 0d 01 40 14 44  |..6.JSR FDC..@.D|
00000360  45 43 63 6f 75 6e 74 3a  42 4e 45 6c 6f 6f 70 0d  |ECcount:BNEloop.|
00000370  01 4a 10 50 4c 41 3a 53  54 41 74 72 61 63 6b 0d  |.J.PLA:STAtrack.|
00000380  01 54 07 52 54 53 0d 01  68 08 2e 46 44 43 0d 01  |.T.RTS..h..FDC..|
00000390  72 29 4c 44 41 23 33 32  3a 4a 53 52 6f 73 77 72  |r)LDA#32:JSRoswr|
000003a0  63 68 3a 4c 44 41 74 72  61 63 6b 3a 4a 53 52 68  |ch:LDAtrack:JSRh|
000003b0  65 78 70 72 69 6e 74 0d  01 7c 12 4c 44 41 23 30  |exprint..|.LDA#0|
000003c0  3a 53 54 41 62 6c 6f 63  6b 0d 01 86 19 53 54 41  |:STAblock....STA|
000003d0  62 6c 6f 63 6b 2b 34 3a  53 54 41 62 6c 6f 63 6b  |block+4:STAblock|
000003e0  2b 33 0d 01 90 31 4c 44  41 61 64 64 72 65 73 73  |+3...1LDAaddress|
000003f0  3a 53 54 41 62 6c 6f 63  6b 2b 31 3a 4c 44 41 61  |:STAblock+1:LDAa|
00000400  64 64 72 65 73 73 2b 31  3a 53 54 41 62 6c 6f 63  |ddress+1:STAbloc|
00000410  6b 2b 32 0d 01 9a 1c 43  4c 43 3a 41 44 43 23 26  |k+2....CLC:ADC#&|
00000420  31 30 3a 53 54 41 61 64  64 72 65 73 73 2b 31 0d  |10:STAaddress+1.|
00000430  01 a4 33 4c 44 41 74 72  61 63 6b 3a 53 54 41 62  |..3LDAtrack:STAb|
00000440  6c 6f 63 6b 2b 38 3a 4c  44 41 23 30 3a 53 54 41  |lock+8:LDA#0:STA|
00000450  62 6c 6f 63 6b 2b 37 3a  53 54 41 62 6c 6f 63 6b  |block+7:STAblock|
00000460  2b 36 0d 01 ae 0c 49 4e  43 74 72 61 63 6b 0d 01  |+6....INCtrack..|
00000470  b8 31 4c 44 59 23 34 3a  2e 6c 6f 6f 70 20 41 53  |.1LDY#4:.loop AS|
00000480  4c 62 6c 6f 63 6b 2b 38  3a 52 4f 4c 62 6c 6f 63  |Lblock+8:ROLbloc|
00000490  6b 2b 37 3a 44 45 59 3a  42 4e 45 6c 6f 6f 70 0d  |k+7:DEY:BNEloop.|
000004a0  01 c2 15 4c 44 41 23 31  36 3a 53 54 41 62 6c 6f  |...LDA#16:STAblo|
000004b0  63 6b 2b 39 0d 01 cc 33  4c 44 41 23 26 37 32 3a  |ck+9...3LDA#&72:|
000004c0  4c 44 58 23 62 6c 6f 63  6b 20 83 32 35 36 3a 4c  |LDX#block .256:L|
000004d0  44 59 23 62 6c 6f 63 6b  20 81 32 35 36 3a 4a 53  |DY#block .256:JS|
000004e0  52 6f 73 77 6f 72 64 0d  01 d6 19 4c 44 41 62 6c  |Rosword....LDAbl|
000004f0  6f 63 6b 3a 42 4e 45 65  72 72 6f 72 3a 52 54 53  |ock:BNEerror:RTS|
00000500  0d 01 e0 32 2e 65 72 72  6f 72 20 53 54 41 65 72  |...2.error STAer|
00000510  72 3a 4c 44 41 23 32 32  3a 4a 53 52 6f 73 77 72  |r:LDA#22:JSRoswr|
00000520  63 68 3a 4c 44 41 23 36  3a 4a 53 52 6f 73 77 72  |ch:LDA#6:JSRoswr|
00000530  63 68 0d 01 ea 27 42 52  4b 3a 2e 65 72 72 20 45  |ch...'BRK:.err E|
00000540  51 55 42 30 3a 45 51 55  53 22 44 69 73 63 20 65  |QUB0:EQUS"Disc e|
00000550  72 72 6f 72 22 3a 42 52  4b 0d 01 fe 08 2e 6b 65  |rror":BRK.....ke|
00000560  79 0d 02 08 20 4c 44 41  23 32 31 3a 4c 44 58 23  |y... LDA#21:LDX#|
00000570  30 3a 4c 44 59 23 30 3a  4a 53 52 6f 73 62 79 74  |0:LDY#0:JSRosbyt|
00000580  65 0d 02 12 27 4a 53 52  73 74 72 69 6e 67 3a 45  |e...'JSRstring:E|
00000590  51 55 53 22 20 3a 50 72  65 73 73 20 61 20 6b 65  |QUS" :Press a ke|
000005a0  79 22 3a 45 51 55 42 30  0d 02 1c 0d 4a 53 52 6f  |y":EQUB0....JSRo|
000005b0  73 72 64 63 68 0d 02 26  2a 4c 44 58 23 6d 6f 75  |srdch..&*LDX#mou|
000005c0  6e 74 20 83 32 35 36 3a  4c 44 59 23 6d 6f 75 6e  |nt .256:LDY#moun|
000005d0  74 20 81 32 35 36 3a 4a  4d 50 6f 73 63 6c 69 0d  |t .256:JMPoscli.|
000005e0  02 3a 1e 2e 6d 6f 75 6e  74 20 45 51 55 53 22 4d  |.:..mount EQUS"M|
000005f0  4f 55 4e 54 22 3a 45 51  55 42 26 30 44 0d 02 4e  |OUNT":EQUB&0D..N|
00000600  0b 2e 73 74 72 69 6e 67  0d 02 58 1d 50 4c 41 3a  |..string..X.PLA:|
00000610  53 54 41 74 65 6d 70 3a  50 4c 41 3a 53 54 41 74  |STAtemp:PLA:STAt|
00000620  65 6d 70 2b 31 0d 02 62  10 4c 44 59 23 30 3a 42  |emp+1..b.LDY#0:B|
00000630  45 51 70 73 32 0d 02 6c  24 2e 70 73 20 4c 44 41  |EQps2..l$.ps LDA|
00000640  28 74 65 6d 70 29 2c 59  3a 42 45 51 70 73 31 3a  |(temp),Y:BEQps1:|
00000650  4a 53 52 6f 73 61 73 63  69 0d 02 76 26 2e 70 73  |JSRosasci..v&.ps|
00000660  32 20 49 4e 43 74 65 6d  70 3a 42 4e 45 70 73 3a  |2 INCtemp:BNEps:|
00000670  49 4e 43 74 65 6d 70 2b  31 3a 42 4e 45 70 73 0d  |INCtemp+1:BNEps.|
00000680  02 80 22 2e 70 73 31 20  4c 44 41 74 65 6d 70 2b  |..".ps1 LDAtemp+|
00000690  31 3a 50 48 41 3a 4c 44  41 74 65 6d 70 3a 50 48  |1:PHA:LDAtemp:PH|
000006a0  41 0d 02 8a 07 52 54 53  0d 02 9e 0d 2e 68 65 78  |A....RTS.....hex|
000006b0  70 72 69 6e 74 0d 02 a8  2a 50 48 41 3a 4c 53 52  |print...*PHA:LSR|
000006c0  20 41 3a 4c 53 52 20 41  3a 4c 53 52 20 41 3a 4c  | A:LSR A:LSR A:L|
000006d0  53 52 20 41 3a 4a 53 52  70 72 69 6e 74 69 74 0d  |SR A:JSRprintit.|
000006e0  02 b2 07 50 4c 41 0d 02  bc 0c 2e 70 72 69 6e 74  |...PLA.....print|
000006f0  69 74 0d 02 c6 09 80 23  26 30 46 0d 02 d0 1f 53  |it.....#&0F....S|
00000700  45 44 3a 43 4c 43 3a 41  44 43 23 26 39 30 3a 41  |ED:CLC:ADC#&90:A|
00000710  44 43 23 26 34 30 3a 43  4c 44 0d 02 da 0d 4a 4d  |DC#&40:CLD....JM|
00000720  50 6f 73 77 72 63 68 0d  02 ee 1c 2e 62 6c 6f 63  |Poswrch.....bloc|
00000730  6b 20 45 51 55 44 30 3a  45 51 55 44 30 3a 45 51  |k EQUD0:EQUD0:EQ|
00000740  55 57 30 0d 02 f8 05 5d  0d 03 02 05 ed 0d ff     |UW0....].......|
0000074f
BackupSRC.m0
BackupSRC.m1
BackupSRC.m2
BackupSRC.m4
BackupSRC.m5