Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_25.ADF » P/ADexpo1
P/ADexpo1
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_User_Group » EUG_25.ADF |
Filename: | P/ADexpo1 |
Read OK: | ✔ |
File size: | 04D5 bytes |
Load address: | 41206576 |
Exec address: | 70786544 |
File contents
ADFS EXPOSED ~~~~~~~~~~~~ By Richard Dimond This program was published in EU Nov 1987 but would only display a single side of a disc. As I have a double sided drive I decided to modify it to show both sides of the disc. With the original program, you also needed to break out of it by pressing ESCAPE to re-run for a change of disc. I have added lines to prompt you to insert a disc and press RETURN before the display is shown so that it is easier to change discs. A single sided disc is shown as before but for a double sided disc the display of the tracks is narrower and the numbers above are doubled. Also the data below is amended. When the display is completed, a message is printed to ask you to press 'R' to re-run the program or SPACE to exit. If you display a DS disc with a large amount of free sapace, the display can take some time to complete. I have managed to convert the program to a M/code file which speeds this up quite noticeably. It was made up after some experimenting and by doing it in several stages so the assembler listing has become rather untidy. If I can re-arrange this, I will send it in later - it will illustrate some other points in converting BASIC to M/code.
00000000 0d 41 44 46 53 20 45 58 50 4f 53 45 44 0d 7e 7e |.ADFS EXPOSED.~~| 00000010 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 42 79 20 52 69 |~~~~~~~~~~.By Ri| 00000020 63 68 61 72 64 20 44 69 6d 6f 6e 64 0d 0d 54 68 |chard Dimond..Th| 00000030 69 73 1a 20 70 72 6f 67 72 61 6d 20 77 61 73 20 |is. program was | 00000040 70 75 62 6c 69 73 68 65 64 20 69 6e 20 45 55 20 |published in EU | 00000050 4e 6f 76 20 31 39 38 37 20 62 75 74 20 77 6f 75 |Nov 1987 but wou| 00000060 6c 64 20 6f 6e 6c 79 20 64 69 73 70 6c 61 79 20 |ld only display | 00000070 61 20 73 69 6e 67 6c 65 0d 73 69 64 65 20 6f 66 |a single.side of| 00000080 1a 20 61 20 64 69 73 63 2e 20 20 41 73 20 49 20 |. a disc. As I | 00000090 68 61 76 65 20 61 20 64 6f 75 62 6c 65 20 73 69 |have a double si| 000000a0 64 65 64 20 64 72 69 76 65 20 49 20 64 65 63 69 |ded drive I deci| 000000b0 64 65 64 20 74 6f 20 6d 6f 64 69 66 79 20 69 74 |ded to modify it| 000000c0 20 74 6f 0d 73 68 6f 77 20 62 6f 74 68 20 73 69 | to.show both si| 000000d0 64 65 73 1a 20 6f 66 1a 20 74 68 65 20 64 69 73 |des. of. the dis| 000000e0 63 2e 20 20 57 69 74 68 20 74 68 65 20 6f 72 69 |c. With the ori| 000000f0 67 69 6e 61 6c 20 70 72 6f 67 72 61 6d 2c 20 79 |ginal program, y| 00000100 6f 75 20 61 6c 73 6f 20 6e 65 65 64 65 64 0d 74 |ou also needed.t| 00000110 6f 20 62 72 65 61 6b 20 6f 75 74 20 6f 66 20 69 |o break out of i| 00000120 74 1a 20 62 79 1a 20 70 72 65 73 73 69 6e 67 20 |t. by. pressing | 00000130 45 53 43 41 50 45 20 74 6f 20 72 65 2d 72 75 6e |ESCAPE to re-run| 00000140 20 66 6f 72 20 61 20 63 68 61 6e 67 65 20 6f 66 | for a change of| 00000150 20 64 69 73 63 2e 20 20 49 0d 68 61 76 65 20 61 | disc. I.have a| 00000160 64 64 65 64 20 6c 69 6e 65 73 20 74 6f 20 70 72 |dded lines to pr| 00000170 6f 6d 70 74 20 79 6f 75 20 74 6f 1a 20 69 6e 73 |ompt you to. ins| 00000180 65 72 74 1a 20 61 1a 20 64 69 73 63 20 61 6e 64 |ert. a. disc and| 00000190 20 70 72 65 73 73 20 52 45 54 55 52 4e 20 62 65 | press RETURN be| 000001a0 66 6f 72 65 0d 74 68 65 20 64 69 73 70 6c 61 79 |fore.the display| 000001b0 20 69 73 20 73 68 6f 77 6e 20 73 6f 20 74 68 61 | is shown so tha| 000001c0 74 20 69 74 20 69 73 20 65 61 73 69 65 72 20 74 |t it is easier t| 000001d0 6f 20 63 68 61 6e 67 65 20 64 69 73 63 73 2e 0d |o change discs..| 000001e0 0d 41 20 73 69 6e 67 6c 65 20 73 69 64 65 64 20 |.A single sided | 000001f0 64 69 73 63 20 69 73 1a 20 73 68 6f 77 6e 1a 20 |disc is. shown. | 00000200 61 73 1a 20 62 65 66 6f 72 65 1a 20 62 75 74 20 |as. before. but | 00000210 66 6f 72 20 61 20 64 6f 75 62 6c 65 20 73 69 64 |for a double sid| 00000220 65 64 20 64 69 73 63 20 74 68 65 0d 64 69 73 70 |ed disc the.disp| 00000230 6c 61 79 20 6f 66 20 74 68 65 20 74 72 61 63 6b |lay of the track| 00000240 73 20 69 73 20 6e 61 72 72 6f 77 65 72 20 61 6e |s is narrower an| 00000250 64 20 74 68 65 20 6e 75 6d 62 65 72 73 20 61 62 |d the numbers ab| 00000260 6f 76 65 20 61 72 65 20 64 6f 75 62 6c 65 64 2e |ove are doubled.| 00000270 20 20 41 6c 73 6f 0d 74 68 65 20 64 61 74 61 20 | Also.the data | 00000280 62 65 6c 6f 77 20 69 73 20 61 6d 65 6e 64 65 64 |below is amended| 00000290 2e 0d 0d 57 68 65 6e 20 74 68 65 1a 20 64 69 73 |...When the. dis| 000002a0 70 6c 61 79 1a 20 69 73 1a 20 63 6f 6d 70 6c 65 |play. is. comple| 000002b0 74 65 64 2c 20 61 20 6d 65 73 73 61 67 65 20 69 |ted, a message i| 000002c0 73 20 70 72 69 6e 74 65 64 20 74 6f 20 61 73 6b |s printed to ask| 000002d0 20 79 6f 75 20 74 6f 20 70 72 65 73 73 0d 27 52 | you to press.'R| 000002e0 27 20 74 6f 20 72 65 2d 72 75 6e 20 74 68 65 20 |' to re-run the | 000002f0 70 72 6f 67 72 61 6d 20 6f 72 20 53 50 41 43 45 |program or SPACE| 00000300 20 74 6f 20 65 78 69 74 2e 0d 0d 49 66 20 79 6f | to exit...If yo| 00000310 75 20 64 69 73 70 6c 61 79 20 61 20 44 53 1a 20 |u display a DS. | 00000320 64 69 73 63 1a 20 77 69 74 68 20 61 20 6c 61 72 |disc. with a lar| 00000330 67 65 20 61 6d 6f 75 6e 74 20 6f 66 20 66 72 65 |ge amount of fre| 00000340 65 20 73 61 70 61 63 65 2c 20 74 68 65 20 64 69 |e sapace, the di| 00000350 73 70 6c 61 79 0d 63 61 6e 20 74 61 6b 65 20 73 |splay.can take s| 00000360 6f 6d 65 20 74 69 6d 65 20 74 6f 20 63 6f 6d 70 |ome time to comp| 00000370 6c 65 74 65 2e 20 20 49 1a 20 68 61 76 65 20 6d |lete. I. have m| 00000380 61 6e 61 67 65 64 20 74 6f 20 63 6f 6e 76 65 72 |anaged to conver| 00000390 74 20 74 68 65 20 70 72 6f 67 72 61 6d 20 74 6f |t the program to| 000003a0 0d 61 20 4d 2f 63 6f 64 65 20 66 69 6c 65 20 77 |.a M/code file w| 000003b0 68 69 63 68 20 73 70 65 65 64 73 20 74 68 69 73 |hich speeds this| 000003c0 20 75 70 20 71 75 69 74 65 20 6e 6f 74 69 63 65 | up quite notice| 000003d0 61 62 6c 79 2e 20 20 49 74 20 77 61 73 20 6d 61 |ably. It was ma| 000003e0 64 65 20 75 70 20 61 66 74 65 72 0d 73 6f 6d 65 |de up after.some| 000003f0 20 65 78 70 65 72 69 6d 65 6e 74 69 6e 67 20 61 | experimenting a| 00000400 6e 64 20 62 79 20 64 6f 69 6e 67 1a 20 69 74 1a |nd by doing. it.| 00000410 20 69 6e 1a 20 73 65 76 65 72 61 6c 1a 20 73 74 | in. several. st| 00000420 61 67 65 73 1a 20 73 6f 20 74 68 65 20 61 73 73 |ages. so the ass| 00000430 65 6d 62 6c 65 72 0d 6c 69 73 74 69 6e 67 20 68 |embler.listing h| 00000440 61 73 20 62 65 63 6f 6d 65 20 72 61 74 68 65 72 |as become rather| 00000450 20 75 6e 74 69 64 79 2e 20 20 49 66 20 49 20 63 | untidy. If I c| 00000460 61 6e 20 72 65 2d 61 72 72 61 6e 67 65 20 74 68 |an re-arrange th| 00000470 69 73 2c 1a 20 49 1a 20 77 69 6c 6c 20 73 65 6e |is,. I. will sen| 00000480 64 0d 69 74 20 69 6e 20 6c 61 74 65 72 20 2d 20 |d.it in later - | 00000490 69 74 20 77 69 6c 6c 20 69 6c 6c 75 73 74 72 61 |it will illustra| 000004a0 74 65 20 73 6f 6d 65 20 6f 74 68 65 72 20 70 6f |te some other po| 000004b0 69 6e 74 73 20 69 6e 20 63 6f 6e 76 65 72 74 69 |ints in converti| 000004c0 6e 67 1a 20 42 41 53 49 43 20 74 6f 0d 4d 2f 63 |ng. BASIC to.M/c| 000004d0 6f 64 65 2e 0d |ode..| 000004d5