Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199510.adf » AW1095_1 » Freeware/Games/!OddBall/Code/Start

Freeware/Games/!OddBall/Code/Start

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 » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199510.adf » AW1095_1
Filename: Freeware/Games/!OddBall/Code/Start
Read OK:
File size: 072C bytes
Load address: 0000
Exec address: 0000
File contents
| !Start file for Oddball

Run OddBall:Code.NoError Run OddBallPatch:Code.Patch2
Run OddBall:Code.NoError RMEnsure GameModes 0.00 Run System:Modules.GameModes
Run OddBall:Code.NoError RMEnsure GameModes 0.00 Run OddBall:Modules.GameModes
Run Oddball:Code.NoError RMEnsure IRQUtils 0.00 Run Oddball:Modules.IRQUtils
Run OddBall:Code.Title
SetMacro OddBall$LevelPath <OddBall$Path>
Set OddBall$Maze 1
Set Oddball$No 1
SetMacro OddBall$SavePath <OddBall$Path>Saved.<OddBall$No>.
Set OddBall$DemoPath <OddBall$Path>Demo.
Set OddBall$FilePath <Oddball$DemoPath>
If OddBallSound=0 Then Audio Off
If OddBallSound=1 Then Audio On
RMLoad OddBall:Modules.Blitz
RMLoad OddBall:Modules.Stasis
StasisLink 1 1
StasisLink 2 2
StasisLink 3 3
StasisLink 4 4
StasisLink 5 5
StasisLink 6 6
StasisLink 7 7
StasisLink 8 8
RMLoad OddBall:Modules.StasisMod
If OddBallMusic=1 Then PlayMod 0 OddBall:Sounds.Music
RMLoad OddBall:Modules.Amnesia
RMLoad OddBall:Modules.FastSpr

Set OddBall$Key1 <Key$1>
Set OddBall$Key2 <Key$2>
Set OddBall$Key3 <Key$3>
Set OddBall$Key4 <Key$4>
Set OddBall$Key5 <Key$5>
Set OddBall$Key6 <Key$6>
Set OddBall$Key7 <Key$7>
Set OddBall$Key8 <Key$8>
Set OddBall$Key9 <Key$9>
Set OddBall$Key10 <Key$10>
Set OddBall$Key11 <Key$11>
Set OddBall$Key12 <Key$12>

Run OddBall:Code.NoError Run OddBall:Keys

StasisLoad 2 OddBall:Sounds.Blam
StasisLoad 3 OddBall:Sounds.Bonus
StasisLoad 4 OddBall:Sounds.Bounce
StasisLoad 5 OddBall:Sounds.Clink
StasisLoad 6 OddBall:Sounds.Crack
StasisLoad 7 OddBall:Sounds.Explo
StasisLoad 8 OddBall:Sounds.FallOff
StasisLoad 9 OddBall:Sounds.Goodies
StasisLoad 10 OddBall:Sounds.HollowPlop
StasisLoad 11 OddBall:Sounds.Magnet
StasisLoad 12 OddBall:Sounds.Throb

WimpSlot -min 576k -max 640k
Set OddBall$Code <OddBall$Path>Code.LoadCode
Run OddBall:Code.NoError Run OddBallPatch:Code.Patch3
Run <OddBall$Code>
00000000  7c 20 21 53 74 61 72 74  20 66 69 6c 65 20 66 6f  || !Start file fo|
00000010  72 20 4f 64 64 62 61 6c  6c 0a 0a 52 75 6e 20 4f  |r Oddball..Run O|
00000020  64 64 42 61 6c 6c 3a 43  6f 64 65 2e 4e 6f 45 72  |ddBall:Code.NoEr|
00000030  72 6f 72 20 52 75 6e 20  4f 64 64 42 61 6c 6c 50  |ror Run OddBallP|
00000040  61 74 63 68 3a 43 6f 64  65 2e 50 61 74 63 68 32  |atch:Code.Patch2|
00000050  0a 52 75 6e 20 4f 64 64  42 61 6c 6c 3a 43 6f 64  |.Run OddBall:Cod|
00000060  65 2e 4e 6f 45 72 72 6f  72 20 52 4d 45 6e 73 75  |e.NoError RMEnsu|
00000070  72 65 20 47 61 6d 65 4d  6f 64 65 73 20 30 2e 30  |re GameModes 0.0|
00000080  30 20 52 75 6e 20 53 79  73 74 65 6d 3a 4d 6f 64  |0 Run System:Mod|
00000090  75 6c 65 73 2e 47 61 6d  65 4d 6f 64 65 73 0a 52  |ules.GameModes.R|
000000a0  75 6e 20 4f 64 64 42 61  6c 6c 3a 43 6f 64 65 2e  |un OddBall:Code.|
000000b0  4e 6f 45 72 72 6f 72 20  52 4d 45 6e 73 75 72 65  |NoError RMEnsure|
000000c0  20 47 61 6d 65 4d 6f 64  65 73 20 30 2e 30 30 20  | GameModes 0.00 |
000000d0  52 75 6e 20 4f 64 64 42  61 6c 6c 3a 4d 6f 64 75  |Run OddBall:Modu|
000000e0  6c 65 73 2e 47 61 6d 65  4d 6f 64 65 73 0a 52 75  |les.GameModes.Ru|
000000f0  6e 20 4f 64 64 62 61 6c  6c 3a 43 6f 64 65 2e 4e  |n Oddball:Code.N|
00000100  6f 45 72 72 6f 72 20 52  4d 45 6e 73 75 72 65 20  |oError RMEnsure |
00000110  49 52 51 55 74 69 6c 73  20 30 2e 30 30 20 52 75  |IRQUtils 0.00 Ru|
00000120  6e 20 4f 64 64 62 61 6c  6c 3a 4d 6f 64 75 6c 65  |n Oddball:Module|
00000130  73 2e 49 52 51 55 74 69  6c 73 0a 52 75 6e 20 4f  |s.IRQUtils.Run O|
00000140  64 64 42 61 6c 6c 3a 43  6f 64 65 2e 54 69 74 6c  |ddBall:Code.Titl|
00000150  65 0a 53 65 74 4d 61 63  72 6f 20 4f 64 64 42 61  |e.SetMacro OddBa|
00000160  6c 6c 24 4c 65 76 65 6c  50 61 74 68 20 3c 4f 64  |ll$LevelPath <Od|
00000170  64 42 61 6c 6c 24 50 61  74 68 3e 0a 53 65 74 20  |dBall$Path>.Set |
00000180  4f 64 64 42 61 6c 6c 24  4d 61 7a 65 20 31 0a 53  |OddBall$Maze 1.S|
00000190  65 74 20 4f 64 64 62 61  6c 6c 24 4e 6f 20 31 0a  |et Oddball$No 1.|
000001a0  53 65 74 4d 61 63 72 6f  20 4f 64 64 42 61 6c 6c  |SetMacro OddBall|
000001b0  24 53 61 76 65 50 61 74  68 20 3c 4f 64 64 42 61  |$SavePath <OddBa|
000001c0  6c 6c 24 50 61 74 68 3e  53 61 76 65 64 2e 3c 4f  |ll$Path>Saved.<O|
000001d0  64 64 42 61 6c 6c 24 4e  6f 3e 2e 0a 53 65 74 20  |ddBall$No>..Set |
000001e0  4f 64 64 42 61 6c 6c 24  44 65 6d 6f 50 61 74 68  |OddBall$DemoPath|
000001f0  20 3c 4f 64 64 42 61 6c  6c 24 50 61 74 68 3e 44  | <OddBall$Path>D|
00000200  65 6d 6f 2e 0a 53 65 74  20 4f 64 64 42 61 6c 6c  |emo..Set OddBall|
00000210  24 46 69 6c 65 50 61 74  68 20 3c 4f 64 64 62 61  |$FilePath <Oddba|
00000220  6c 6c 24 44 65 6d 6f 50  61 74 68 3e 0a 49 66 20  |ll$DemoPath>.If |
00000230  4f 64 64 42 61 6c 6c 53  6f 75 6e 64 3d 30 20 54  |OddBallSound=0 T|
00000240  68 65 6e 20 41 75 64 69  6f 20 4f 66 66 0a 49 66  |hen Audio Off.If|
00000250  20 4f 64 64 42 61 6c 6c  53 6f 75 6e 64 3d 31 20  | OddBallSound=1 |
00000260  54 68 65 6e 20 41 75 64  69 6f 20 4f 6e 0a 52 4d  |Then Audio On.RM|
00000270  4c 6f 61 64 20 4f 64 64  42 61 6c 6c 3a 4d 6f 64  |Load OddBall:Mod|
00000280  75 6c 65 73 2e 42 6c 69  74 7a 0a 52 4d 4c 6f 61  |ules.Blitz.RMLoa|
00000290  64 20 4f 64 64 42 61 6c  6c 3a 4d 6f 64 75 6c 65  |d OddBall:Module|
000002a0  73 2e 53 74 61 73 69 73  0a 53 74 61 73 69 73 4c  |s.Stasis.StasisL|
000002b0  69 6e 6b 20 31 20 31 0a  53 74 61 73 69 73 4c 69  |ink 1 1.StasisLi|
000002c0  6e 6b 20 32 20 32 0a 53  74 61 73 69 73 4c 69 6e  |nk 2 2.StasisLin|
000002d0  6b 20 33 20 33 0a 53 74  61 73 69 73 4c 69 6e 6b  |k 3 3.StasisLink|
000002e0  20 34 20 34 0a 53 74 61  73 69 73 4c 69 6e 6b 20  | 4 4.StasisLink |
000002f0  35 20 35 0a 53 74 61 73  69 73 4c 69 6e 6b 20 36  |5 5.StasisLink 6|
00000300  20 36 0a 53 74 61 73 69  73 4c 69 6e 6b 20 37 20  | 6.StasisLink 7 |
00000310  37 0a 53 74 61 73 69 73  4c 69 6e 6b 20 38 20 38  |7.StasisLink 8 8|
00000320  0a 52 4d 4c 6f 61 64 20  4f 64 64 42 61 6c 6c 3a  |.RMLoad OddBall:|
00000330  4d 6f 64 75 6c 65 73 2e  53 74 61 73 69 73 4d 6f  |Modules.StasisMo|
00000340  64 0a 49 66 20 4f 64 64  42 61 6c 6c 4d 75 73 69  |d.If OddBallMusi|
00000350  63 3d 31 20 54 68 65 6e  20 50 6c 61 79 4d 6f 64  |c=1 Then PlayMod|
00000360  20 30 20 4f 64 64 42 61  6c 6c 3a 53 6f 75 6e 64  | 0 OddBall:Sound|
00000370  73 2e 4d 75 73 69 63 0a  52 4d 4c 6f 61 64 20 4f  |s.Music.RMLoad O|
00000380  64 64 42 61 6c 6c 3a 4d  6f 64 75 6c 65 73 2e 41  |ddBall:Modules.A|
00000390  6d 6e 65 73 69 61 0a 52  4d 4c 6f 61 64 20 4f 64  |mnesia.RMLoad Od|
000003a0  64 42 61 6c 6c 3a 4d 6f  64 75 6c 65 73 2e 46 61  |dBall:Modules.Fa|
000003b0  73 74 53 70 72 0a 0a 53  65 74 20 4f 64 64 42 61  |stSpr..Set OddBa|
000003c0  6c 6c 24 4b 65 79 31 20  3c 4b 65 79 24 31 3e 0a  |ll$Key1 <Key$1>.|
000003d0  53 65 74 20 4f 64 64 42  61 6c 6c 24 4b 65 79 32  |Set OddBall$Key2|
000003e0  20 3c 4b 65 79 24 32 3e  0a 53 65 74 20 4f 64 64  | <Key$2>.Set Odd|
000003f0  42 61 6c 6c 24 4b 65 79  33 20 3c 4b 65 79 24 33  |Ball$Key3 <Key$3|
00000400  3e 0a 53 65 74 20 4f 64  64 42 61 6c 6c 24 4b 65  |>.Set OddBall$Ke|
00000410  79 34 20 3c 4b 65 79 24  34 3e 0a 53 65 74 20 4f  |y4 <Key$4>.Set O|
00000420  64 64 42 61 6c 6c 24 4b  65 79 35 20 3c 4b 65 79  |ddBall$Key5 <Key|
00000430  24 35 3e 0a 53 65 74 20  4f 64 64 42 61 6c 6c 24  |$5>.Set OddBall$|
00000440  4b 65 79 36 20 3c 4b 65  79 24 36 3e 0a 53 65 74  |Key6 <Key$6>.Set|
00000450  20 4f 64 64 42 61 6c 6c  24 4b 65 79 37 20 3c 4b  | OddBall$Key7 <K|
00000460  65 79 24 37 3e 0a 53 65  74 20 4f 64 64 42 61 6c  |ey$7>.Set OddBal|
00000470  6c 24 4b 65 79 38 20 3c  4b 65 79 24 38 3e 0a 53  |l$Key8 <Key$8>.S|
00000480  65 74 20 4f 64 64 42 61  6c 6c 24 4b 65 79 39 20  |et OddBall$Key9 |
00000490  3c 4b 65 79 24 39 3e 0a  53 65 74 20 4f 64 64 42  |<Key$9>.Set OddB|
000004a0  61 6c 6c 24 4b 65 79 31  30 20 3c 4b 65 79 24 31  |all$Key10 <Key$1|
000004b0  30 3e 0a 53 65 74 20 4f  64 64 42 61 6c 6c 24 4b  |0>.Set OddBall$K|
000004c0  65 79 31 31 20 3c 4b 65  79 24 31 31 3e 0a 53 65  |ey11 <Key$11>.Se|
000004d0  74 20 4f 64 64 42 61 6c  6c 24 4b 65 79 31 32 20  |t OddBall$Key12 |
000004e0  3c 4b 65 79 24 31 32 3e  0a 0a 52 75 6e 20 4f 64  |<Key$12>..Run Od|
000004f0  64 42 61 6c 6c 3a 43 6f  64 65 2e 4e 6f 45 72 72  |dBall:Code.NoErr|
00000500  6f 72 20 52 75 6e 20 4f  64 64 42 61 6c 6c 3a 4b  |or Run OddBall:K|
00000510  65 79 73 0a 0a 53 74 61  73 69 73 4c 6f 61 64 20  |eys..StasisLoad |
00000520  32 20 4f 64 64 42 61 6c  6c 3a 53 6f 75 6e 64 73  |2 OddBall:Sounds|
00000530  2e 42 6c 61 6d 0a 53 74  61 73 69 73 4c 6f 61 64  |.Blam.StasisLoad|
00000540  20 33 20 4f 64 64 42 61  6c 6c 3a 53 6f 75 6e 64  | 3 OddBall:Sound|
00000550  73 2e 42 6f 6e 75 73 0a  53 74 61 73 69 73 4c 6f  |s.Bonus.StasisLo|
00000560  61 64 20 34 20 4f 64 64  42 61 6c 6c 3a 53 6f 75  |ad 4 OddBall:Sou|
00000570  6e 64 73 2e 42 6f 75 6e  63 65 0a 53 74 61 73 69  |nds.Bounce.Stasi|
00000580  73 4c 6f 61 64 20 35 20  4f 64 64 42 61 6c 6c 3a  |sLoad 5 OddBall:|
00000590  53 6f 75 6e 64 73 2e 43  6c 69 6e 6b 0a 53 74 61  |Sounds.Clink.Sta|
000005a0  73 69 73 4c 6f 61 64 20  36 20 4f 64 64 42 61 6c  |sisLoad 6 OddBal|
000005b0  6c 3a 53 6f 75 6e 64 73  2e 43 72 61 63 6b 0a 53  |l:Sounds.Crack.S|
000005c0  74 61 73 69 73 4c 6f 61  64 20 37 20 4f 64 64 42  |tasisLoad 7 OddB|
000005d0  61 6c 6c 3a 53 6f 75 6e  64 73 2e 45 78 70 6c 6f  |all:Sounds.Explo|
000005e0  0a 53 74 61 73 69 73 4c  6f 61 64 20 38 20 4f 64  |.StasisLoad 8 Od|
000005f0  64 42 61 6c 6c 3a 53 6f  75 6e 64 73 2e 46 61 6c  |dBall:Sounds.Fal|
00000600  6c 4f 66 66 0a 53 74 61  73 69 73 4c 6f 61 64 20  |lOff.StasisLoad |
00000610  39 20 4f 64 64 42 61 6c  6c 3a 53 6f 75 6e 64 73  |9 OddBall:Sounds|
00000620  2e 47 6f 6f 64 69 65 73  0a 53 74 61 73 69 73 4c  |.Goodies.StasisL|
00000630  6f 61 64 20 31 30 20 4f  64 64 42 61 6c 6c 3a 53  |oad 10 OddBall:S|
00000640  6f 75 6e 64 73 2e 48 6f  6c 6c 6f 77 50 6c 6f 70  |ounds.HollowPlop|
00000650  0a 53 74 61 73 69 73 4c  6f 61 64 20 31 31 20 4f  |.StasisLoad 11 O|
00000660  64 64 42 61 6c 6c 3a 53  6f 75 6e 64 73 2e 4d 61  |ddBall:Sounds.Ma|
00000670  67 6e 65 74 0a 53 74 61  73 69 73 4c 6f 61 64 20  |gnet.StasisLoad |
00000680  31 32 20 4f 64 64 42 61  6c 6c 3a 53 6f 75 6e 64  |12 OddBall:Sound|
00000690  73 2e 54 68 72 6f 62 0a  0a 57 69 6d 70 53 6c 6f  |s.Throb..WimpSlo|
000006a0  74 20 2d 6d 69 6e 20 35  37 36 6b 20 2d 6d 61 78  |t -min 576k -max|
000006b0  20 36 34 30 6b 0a 53 65  74 20 4f 64 64 42 61 6c  | 640k.Set OddBal|
000006c0  6c 24 43 6f 64 65 20 3c  4f 64 64 42 61 6c 6c 24  |l$Code <OddBall$|
000006d0  50 61 74 68 3e 43 6f 64  65 2e 4c 6f 61 64 43 6f  |Path>Code.LoadCo|
000006e0  64 65 0a 52 75 6e 20 4f  64 64 42 61 6c 6c 3a 43  |de.Run OddBall:C|
000006f0  6f 64 65 2e 4e 6f 45 72  72 6f 72 20 52 75 6e 20  |ode.NoError Run |
00000700  4f 64 64 42 61 6c 6c 50  61 74 63 68 3a 43 6f 64  |OddBallPatch:Cod|
00000710  65 2e 50 61 74 63 68 33  0a 52 75 6e 20 3c 4f 64  |e.Patch3.Run <Od|
00000720  64 42 61 6c 6c 24 43 6f  64 65 3e 0a              |dBall$Code>.|
0000072c