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:
- AEW website » eug » eug_3_5_discs_Eug-34_A-EUG34.adf » U/ADFSEXM
- AEW website » eug » eug_5_25_discs_Eug-34_D-EUG34.dsd » U.ADFSEXM
- Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_34.ADF » P/ADFSEXAM
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