Home » Archimedes archive » Archimedes World » AW-1996-02-Disc2.adf » !Z80Dem_Z80Demo » !Z80Dem/!Boot

!Z80Dem/!Boot

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 » Archimedes archive » Archimedes World » AW-1996-02-Disc2.adf » !Z80Dem_Z80Demo
Filename: !Z80Dem/!Boot
Read OK:
File size: 02A7 bytes
Load address: 0000
Exec address: 0000
File contents
Set Z80Em$Dir <Obey$Dir>
Set Z80Em$Res <Obey$Dir>.Resources
IconSprites <Z80Em$Res>.!Sprites
Set Z80Em$OSVer 3
RMEnsure UtilityModule 3.00 Set Z80Em$OSVer 2
Set File$Type_BA1 SNA
Set File$Type_BA0 Z80
Set Z80Em$Temp 0
RMEnsure DOSFS 0.00 Set Z80Em$Temp 1
If Z80Em$Temp=0 Then DOSMap SNA SNA
| I would do a DOSMap Z80 Z80 here, but DOSFS won't let me! (RISC OS 3.1)
UnSet Z80Em$Temp
If "<Alias$@RunType_BA1>"="" Then Set Alias$@RunType_BA1 Run <Z80Em$Res>.Check2 %%*0
If "<Alias$@RunType_BA0>"="" Then Set Alias$@RunType_BA0 Run <Z80Em$Res>.Check2 %%*0
IF <Z80Em$OSVer>=3 Then Obey
Set Alias$@RunType_BA1 Run <Z80Em$Dir>.!Run %%*0
Set Alias$@RunType_BA0 Run <Z80Em$Dir>.!Run %%*0
00000000  53 65 74 20 5a 38 30 45  6d 24 44 69 72 20 3c 4f  |Set Z80Em$Dir <O|
00000010  62 65 79 24 44 69 72 3e  0a 53 65 74 20 5a 38 30  |bey$Dir>.Set Z80|
00000020  45 6d 24 52 65 73 20 3c  4f 62 65 79 24 44 69 72  |Em$Res <Obey$Dir|
00000030  3e 2e 52 65 73 6f 75 72  63 65 73 0a 49 63 6f 6e  |>.Resources.Icon|
00000040  53 70 72 69 74 65 73 20  3c 5a 38 30 45 6d 24 52  |Sprites <Z80Em$R|
00000050  65 73 3e 2e 21 53 70 72  69 74 65 73 0a 53 65 74  |es>.!Sprites.Set|
00000060  20 5a 38 30 45 6d 24 4f  53 56 65 72 20 33 0a 52  | Z80Em$OSVer 3.R|
00000070  4d 45 6e 73 75 72 65 20  55 74 69 6c 69 74 79 4d  |MEnsure UtilityM|
00000080  6f 64 75 6c 65 20 33 2e  30 30 20 53 65 74 20 5a  |odule 3.00 Set Z|
00000090  38 30 45 6d 24 4f 53 56  65 72 20 32 0a 53 65 74  |80Em$OSVer 2.Set|
000000a0  20 46 69 6c 65 24 54 79  70 65 5f 42 41 31 20 53  | File$Type_BA1 S|
000000b0  4e 41 0a 53 65 74 20 46  69 6c 65 24 54 79 70 65  |NA.Set File$Type|
000000c0  5f 42 41 30 20 5a 38 30  0a 53 65 74 20 5a 38 30  |_BA0 Z80.Set Z80|
000000d0  45 6d 24 54 65 6d 70 20  30 0a 52 4d 45 6e 73 75  |Em$Temp 0.RMEnsu|
000000e0  72 65 20 44 4f 53 46 53  20 30 2e 30 30 20 53 65  |re DOSFS 0.00 Se|
000000f0  74 20 5a 38 30 45 6d 24  54 65 6d 70 20 31 0a 49  |t Z80Em$Temp 1.I|
00000100  66 20 5a 38 30 45 6d 24  54 65 6d 70 3d 30 20 54  |f Z80Em$Temp=0 T|
00000110  68 65 6e 20 44 4f 53 4d  61 70 20 53 4e 41 20 53  |hen DOSMap SNA S|
00000120  4e 41 0a 7c 20 49 20 77  6f 75 6c 64 20 64 6f 20  |NA.| I would do |
00000130  61 20 44 4f 53 4d 61 70  20 5a 38 30 20 5a 38 30  |a DOSMap Z80 Z80|
00000140  20 68 65 72 65 2c 20 62  75 74 20 44 4f 53 46 53  | here, but DOSFS|
00000150  20 77 6f 6e 27 74 20 6c  65 74 20 6d 65 21 20 28  | won't let me! (|
00000160  52 49 53 43 20 4f 53 20  33 2e 31 29 0a 55 6e 53  |RISC OS 3.1).UnS|
00000170  65 74 20 5a 38 30 45 6d  24 54 65 6d 70 0a 49 66  |et Z80Em$Temp.If|
00000180  20 22 3c 41 6c 69 61 73  24 40 52 75 6e 54 79 70  | "<Alias$@RunTyp|
00000190  65 5f 42 41 31 3e 22 3d  22 22 20 54 68 65 6e 20  |e_BA1>"="" Then |
000001a0  53 65 74 20 41 6c 69 61  73 24 40 52 75 6e 54 79  |Set Alias$@RunTy|
000001b0  70 65 5f 42 41 31 20 52  75 6e 20 3c 5a 38 30 45  |pe_BA1 Run <Z80E|
000001c0  6d 24 52 65 73 3e 2e 43  68 65 63 6b 32 20 25 25  |m$Res>.Check2 %%|
000001d0  2a 30 0a 49 66 20 22 3c  41 6c 69 61 73 24 40 52  |*0.If "<Alias$@R|
000001e0  75 6e 54 79 70 65 5f 42  41 30 3e 22 3d 22 22 20  |unType_BA0>"="" |
000001f0  54 68 65 6e 20 53 65 74  20 41 6c 69 61 73 24 40  |Then Set Alias$@|
00000200  52 75 6e 54 79 70 65 5f  42 41 30 20 52 75 6e 20  |RunType_BA0 Run |
00000210  3c 5a 38 30 45 6d 24 52  65 73 3e 2e 43 68 65 63  |<Z80Em$Res>.Chec|
00000220  6b 32 20 25 25 2a 30 0a  49 46 20 3c 5a 38 30 45  |k2 %%*0.IF <Z80E|
00000230  6d 24 4f 53 56 65 72 3e  3d 33 20 54 68 65 6e 20  |m$OSVer>=3 Then |
00000240  4f 62 65 79 0a 53 65 74  20 41 6c 69 61 73 24 40  |Obey.Set Alias$@|
00000250  52 75 6e 54 79 70 65 5f  42 41 31 20 52 75 6e 20  |RunType_BA1 Run |
00000260  3c 5a 38 30 45 6d 24 44  69 72 3e 2e 21 52 75 6e  |<Z80Em$Dir>.!Run|
00000270  20 25 25 2a 30 0a 53 65  74 20 41 6c 69 61 73 24  | %%*0.Set Alias$|
00000280  40 52 75 6e 54 79 70 65  5f 42 41 30 20 52 75 6e  |@RunType_BA0 Run|
00000290  20 3c 5a 38 30 45 6d 24  44 69 72 3e 2e 21 52 75  | <Z80Em$Dir>.!Ru|
000002a0  6e 20 25 25 2a 30 0a                              |n %%*0.|
000002a7