Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_34.ADF » P/ADFSEXAM

P/ADFSEXAM

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_34.ADF
Filename: P/ADFSEXAM
Read OK:
File size: 056C bytes
Load address: FFFF0E00
Exec address: FFFF802B
Duplicates

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

File contents
   10REM **************************
   20REM Read ADFS sectors
   30REM By R.A.Waddilove
   40REM (c) Electron User, June 1989
   50REM Revised by R.A.Dimond 1997
   60REM **************************
   70MODE 6
   80VDU 19,0,4;0;
   90buffer=&3000
  100DIM block 16
  110osword=&FFF1
  120PROCtitle
  130PRINT
  140PRINT"Drive no, (0,1)? ";
  150REPEAT:S$=GET$:UNTIL INSTR("01",S$):PRINT;S$
  160OSCLI"MOU."+S$
  170PRINT
  180INPUT "Enter disc address:&"da$
  190IF da$="" da$="00"
  200dadd=EVAL("&"+da$)
  210REPEAT
  220?block=0 :REM error number
  230block!1=buffer :REM load address
  240block?5=8 :REM read command
  250block?6=0 :REM disc address MSB 1st
  260block?7=dadd DIV 256
  270block?8=dadd MOD 256
  280block?9=1 :REM 1 sector
  290block?10=0 :REM unused
  300A%=&72
  310X%=block MOD 256
  320Y%=block DIV 256
  330CALL osword
  340IF ?block>0 PRINT"Disc error":END
  350@%=&000904
  360FOR K%=0 TO 128 STEP 128
  370PROCtitle
  380PRINT "Disc address=&";~dadd;" / Track=";dadd DIV16;" / Sector=";dadd MOD16
  390PRINT TAB(0,5)"-Byte-------Hexadecimal--------Ascii----";
  400FOR I%=0 TO 15*8 STEP 8
  410a$=""
  420PRINT I%+K%;":";
  430FOR J%=0 TO 7
  440byte=?(buffer+K%+I%+J%)
  450IF byte<32 OR byte>126 a$=a$+"." ELSE a$=a$+CHR$(byte)
  460PRINT " ";~byte DIV 16;~byte MOD 16;
  470NEXT
  480PRINT "  ";a$
  490NEXT
  500PRINT TAB(10,23)"Press a key...";
  510dummy=GET
  520NEXT
  530PRINT TAB(8,23)"B=Back      F=Forward"
  540PRINT TAB(8,24)"R=Re-run    ESCAPE=Quit";
  550key$=CHR$(GET OR 32)
  560IFINKEY-101 dadd=dadd-1
  570IFINKEY-68 dadd=dadd+1
  580IFINKEY-52 THENRUN
  590UNTILFALSE
  600END
  610:
  620DEF PROCtitle
  630CLS
  640COLOUR 129:COLOUR 0
  650PRINT TAB(0,1)"********* ADFS Disc  Explorer **********"
  660COLOUR 128:COLOUR 1
  670ENDPROC

 � **************************
� Read ADFS sectors
� By R.A.Waddilove
("� (c) Electron User, June 1989
2 � Revised by R.A.Dimond 1997
< � **************************
F� 6
P� 19,0,4;0;
Zbuffer=&3000
d� block 16
nosword=&FFF1
x
�title
��
��"Drive no, (0,1)? ";
��:S$=�:� �"01",S$):�;S$
��"MOU."+S$
��
�� "Enter disc address:&"da$
�� da$="" da$="00"
�dadd=�("&"+da$)
��
�?block=0 :� error number
�"block!1=buffer :� load address
�block?5=8 :� read command
�%block?6=0 :� disc address MSB 1st
block?7=dadd � 256
block?8=dadd � 256
block?9=1 :� 1 sector
"block?10=0 :� unused
,
A%=&72
6X%=block � 256
@Y%=block � 256
J� osword
T� ?block>0 �"Disc error":�
^@%=&000904
h� K%=0 � 128 � 128
r
�title
|G� "Disc address=&";~dadd;" / Track=";dadd �16;" / Sector=";dadd �16
�6� �0,5)"-Byte-------Hexadecimal--------Ascii----";
�� I%=0 � 15*8 � 8
�	a$=""
�� I%+K%;":";
�� J%=0 � 7
�byte=?(buffer+K%+I%+J%)
�2� byte<32 � byte>126 a$=a$+"." � a$=a$+�(byte)
� � " ";~byte � 16;~byte � 16;
��
�
� "  ";a$
��
�� �10,23)"Press a key...";
�dummy=�
�
#� �8,23)"B=Back      F=Forward"
&� �8,24)"R=Re-run    ESCAPE=Quit";
&key$=�(� � 32)
0�-101 dadd=dadd-1
:�-68 dadd=dadd+1
D�-52 ��
N��
X�
b:
l� �title
v�
�
� 129:� 0
�5� �0,1)"********* ADFS Disc  Explorer **********"
�
� 128:� 1
��
�
00000000  0d 00 0a 20 f4 20 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |... . **********|
00000010  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
00000020  0d 00 14 17 f4 20 52 65  61 64 20 41 44 46 53 20  |..... Read ADFS |
00000030  73 65 63 74 6f 72 73 0d  00 1e 16 f4 20 42 79 20  |sectors..... By |
00000040  52 2e 41 2e 57 61 64 64  69 6c 6f 76 65 0d 00 28  |R.A.Waddilove..(|
00000050  22 f4 20 28 63 29 20 45  6c 65 63 74 72 6f 6e 20  |". (c) Electron |
00000060  55 73 65 72 2c 20 4a 75  6e 65 20 31 39 38 39 0d  |User, June 1989.|
00000070  00 32 20 f4 20 52 65 76  69 73 65 64 20 62 79 20  |.2 . Revised by |
00000080  52 2e 41 2e 44 69 6d 6f  6e 64 20 31 39 39 37 0d  |R.A.Dimond 1997.|
00000090  00 3c 20 f4 20 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |.< . ***********|
000000a0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 0d  |***************.|
000000b0  00 46 07 eb 20 36 0d 00  50 0f ef 20 31 39 2c 30  |.F.. 6..P.. 19,0|
000000c0  2c 34 3b 30 3b 0d 00 5a  10 62 75 66 66 65 72 3d  |,4;0;..Z.buffer=|
000000d0  26 33 30 30 30 0d 00 64  0e de 20 62 6c 6f 63 6b  |&3000..d.. block|
000000e0  20 31 36 0d 00 6e 10 6f  73 77 6f 72 64 3d 26 46  | 16..n.osword=&F|
000000f0  46 46 31 0d 00 78 0a f2  74 69 74 6c 65 0d 00 82  |FF1..x..title...|
00000100  05 f1 0d 00 8c 19 f1 22  44 72 69 76 65 20 6e 6f  |......."Drive no|
00000110  2c 20 28 30 2c 31 29 3f  20 22 3b 0d 00 96 1b f5  |, (0,1)? ";.....|
00000120  3a 53 24 3d be 3a fd 20  a7 22 30 31 22 2c 53 24  |:S$=.:. ."01",S$|
00000130  29 3a f1 3b 53 24 0d 00  a0 0e ff 22 4d 4f 55 2e  |):.;S$....."MOU.|
00000140  22 2b 53 24 0d 00 aa 05  f1 0d 00 b4 1f e8 20 22  |"+S$.......... "|
00000150  45 6e 74 65 72 20 64 69  73 63 20 61 64 64 72 65  |Enter disc addre|
00000160  73 73 3a 26 22 64 61 24  0d 00 be 15 e7 20 64 61  |ss:&"da$..... da|
00000170  24 3d 22 22 20 64 61 24  3d 22 30 30 22 0d 00 c8  |$="" da$="00"...|
00000180  13 64 61 64 64 3d a0 28  22 26 22 2b 64 61 24 29  |.dadd=.("&"+da$)|
00000190  0d 00 d2 05 f5 0d 00 dc  1c 3f 62 6c 6f 63 6b 3d  |.........?block=|
000001a0  30 20 3a f4 20 65 72 72  6f 72 20 6e 75 6d 62 65  |0 :. error numbe|
000001b0  72 0d 00 e6 22 62 6c 6f  63 6b 21 31 3d 62 75 66  |r..."block!1=buf|
000001c0  66 65 72 20 3a f4 20 6c  6f 61 64 20 61 64 64 72  |fer :. load addr|
000001d0  65 73 73 0d 00 f0 1d 62  6c 6f 63 6b 3f 35 3d 38  |ess....block?5=8|
000001e0  20 3a f4 20 72 65 61 64  20 63 6f 6d 6d 61 6e 64  | :. read command|
000001f0  0d 00 fa 25 62 6c 6f 63  6b 3f 36 3d 30 20 3a f4  |...%block?6=0 :.|
00000200  20 64 69 73 63 20 61 64  64 72 65 73 73 20 4d 53  | disc address MS|
00000210  42 20 31 73 74 0d 01 04  16 62 6c 6f 63 6b 3f 37  |B 1st....block?7|
00000220  3d 64 61 64 64 20 81 20  32 35 36 0d 01 0e 16 62  |=dadd . 256....b|
00000230  6c 6f 63 6b 3f 38 3d 64  61 64 64 20 83 20 32 35  |lock?8=dadd . 25|
00000240  36 0d 01 18 19 62 6c 6f  63 6b 3f 39 3d 31 20 3a  |6....block?9=1 :|
00000250  f4 20 31 20 73 65 63 74  6f 72 0d 01 22 18 62 6c  |. 1 sector..".bl|
00000260  6f 63 6b 3f 31 30 3d 30  20 3a f4 20 75 6e 75 73  |ock?10=0 :. unus|
00000270  65 64 0d 01 2c 0a 41 25  3d 26 37 32 0d 01 36 12  |ed..,.A%=&72..6.|
00000280  58 25 3d 62 6c 6f 63 6b  20 83 20 32 35 36 0d 01  |X%=block . 256..|
00000290  40 12 59 25 3d 62 6c 6f  63 6b 20 81 20 32 35 36  |@.Y%=block . 256|
000002a0  0d 01 4a 0c d6 20 6f 73  77 6f 72 64 0d 01 54 1e  |..J.. osword..T.|
000002b0  e7 20 3f 62 6c 6f 63 6b  3e 30 20 f1 22 44 69 73  |. ?block>0 ."Dis|
000002c0  63 20 65 72 72 6f 72 22  3a e0 0d 01 5e 0e 40 25  |c error":...^.@%|
000002d0  3d 26 30 30 30 39 30 34  0d 01 68 16 e3 20 4b 25  |=&000904..h.. K%|
000002e0  3d 30 20 b8 20 31 32 38  20 88 20 31 32 38 0d 01  |=0 . 128 . 128..|
000002f0  72 0a f2 74 69 74 6c 65  0d 01 7c 47 f1 20 22 44  |r..title..|G. "D|
00000300  69 73 63 20 61 64 64 72  65 73 73 3d 26 22 3b 7e  |isc address=&";~|
00000310  64 61 64 64 3b 22 20 2f  20 54 72 61 63 6b 3d 22  |dadd;" / Track="|
00000320  3b 64 61 64 64 20 81 31  36 3b 22 20 2f 20 53 65  |;dadd .16;" / Se|
00000330  63 74 6f 72 3d 22 3b 64  61 64 64 20 83 31 36 0d  |ctor=";dadd .16.|
00000340  01 86 36 f1 20 8a 30 2c  35 29 22 2d 42 79 74 65  |..6. .0,5)"-Byte|
00000350  2d 2d 2d 2d 2d 2d 2d 48  65 78 61 64 65 63 69 6d  |-------Hexadecim|
00000360  61 6c 2d 2d 2d 2d 2d 2d  2d 2d 41 73 63 69 69 2d  |al--------Ascii-|
00000370  2d 2d 2d 22 3b 0d 01 90  15 e3 20 49 25 3d 30 20  |---";..... I%=0 |
00000380  b8 20 31 35 2a 38 20 88  20 38 0d 01 9a 09 61 24  |. 15*8 . 8....a$|
00000390  3d 22 22 0d 01 a4 10 f1  20 49 25 2b 4b 25 3b 22  |=""..... I%+K%;"|
000003a0  3a 22 3b 0d 01 ae 0e e3  20 4a 25 3d 30 20 b8 20  |:";..... J%=0 . |
000003b0  37 0d 01 b8 1b 62 79 74  65 3d 3f 28 62 75 66 66  |7....byte=?(buff|
000003c0  65 72 2b 4b 25 2b 49 25  2b 4a 25 29 0d 01 c2 32  |er+K%+I%+J%)...2|
000003d0  e7 20 62 79 74 65 3c 33  32 20 84 20 62 79 74 65  |. byte<32 . byte|
000003e0  3e 31 32 36 20 61 24 3d  61 24 2b 22 2e 22 20 8b  |>126 a$=a$+"." .|
000003f0  20 61 24 3d 61 24 2b bd  28 62 79 74 65 29 0d 01  | a$=a$+.(byte)..|
00000400  cc 20 f1 20 22 20 22 3b  7e 62 79 74 65 20 81 20  |. . " ";~byte . |
00000410  31 36 3b 7e 62 79 74 65  20 83 20 31 36 3b 0d 01  |16;~byte . 16;..|
00000420  d6 05 ed 0d 01 e0 0d f1  20 22 20 20 22 3b 61 24  |........ "  ";a$|
00000430  0d 01 ea 05 ed 0d 01 f4  1e f1 20 8a 31 30 2c 32  |.......... .10,2|
00000440  33 29 22 50 72 65 73 73  20 61 20 6b 65 79 2e 2e  |3)"Press a key..|
00000450  2e 22 3b 0d 01 fe 0b 64  75 6d 6d 79 3d a5 0d 02  |.";....dummy=...|
00000460  08 05 ed 0d 02 12 23 f1  20 8a 38 2c 32 33 29 22  |......#. .8,23)"|
00000470  42 3d 42 61 63 6b 20 20  20 20 20 20 46 3d 46 6f  |B=Back      F=Fo|
00000480  72 77 61 72 64 22 0d 02  1c 26 f1 20 8a 38 2c 32  |rward"...&. .8,2|
00000490  34 29 22 52 3d 52 65 2d  72 75 6e 20 20 20 20 45  |4)"R=Re-run    E|
000004a0  53 43 41 50 45 3d 51 75  69 74 22 3b 0d 02 26 12  |SCAPE=Quit";..&.|
000004b0  6b 65 79 24 3d bd 28 a5  20 84 20 33 32 29 0d 02  |key$=.(. . 32)..|
000004c0  30 16 e7 a6 2d 31 30 31  20 64 61 64 64 3d 64 61  |0...-101 dadd=da|
000004d0  64 64 2d 31 0d 02 3a 15  e7 a6 2d 36 38 20 64 61  |dd-1..:...-68 da|
000004e0  64 64 3d 64 61 64 64 2b  31 0d 02 44 0c e7 a6 2d  |dd=dadd+1..D...-|
000004f0  35 32 20 8c f9 0d 02 4e  06 fd a3 0d 02 58 05 e0  |52 ....N.....X..|
00000500  0d 02 62 05 3a 0d 02 6c  0c dd 20 f2 74 69 74 6c  |..b.:..l.. .titl|
00000510  65 0d 02 76 05 db 0d 02  80 0d fb 20 31 32 39 3a  |e..v....... 129:|
00000520  fb 20 30 0d 02 8a 35 f1  20 8a 30 2c 31 29 22 2a  |. 0...5. .0,1)"*|
00000530  2a 2a 2a 2a 2a 2a 2a 2a  20 41 44 46 53 20 44 69  |******** ADFS Di|
00000540  73 63 20 20 45 78 70 6c  6f 72 65 72 20 2a 2a 2a  |sc  Explorer ***|
00000550  2a 2a 2a 2a 2a 2a 2a 22  0d 02 94 0d fb 20 31 32  |*******"..... 12|
00000560  38 3a fb 20 31 0d 02 9e  05 e1 0d ff              |8:. 1.......|
0000056c
P/ADFSEXAM.m0
P/ADFSEXAM.m1
P/ADFSEXAM.m2
P/ADFSEXAM.m4
P/ADFSEXAM.m5