Difference between revisions of "Driller"

From ScummVM :: Wiki
Jump to navigation Jump to search
 
(45 intermediate revisions by 3 users not shown)
Line 2: Line 2:
name=Driller|
name=Driller|
     alternateNames=Space Station Oblivion|
     alternateNames=Space Station Oblivion|
image=|
image=https://www.scummvm.org/data/screenshots/freescape/driller/driller_dos_en_2_1.jpg|
release=1987|
release=1987|
developer=[[Incentive Software]]|
developer=[[Incentive Software]]|
Line 10: Line 10:
resolution=320x200, 16 colors (DOS, EGA)|
resolution=320x200, 16 colors (DOS, EGA)|
engine=[[Freescape]]|
engine=[[Freescape]]|
support= Not yet|
support= Since ScummVM 2.7.0|
purchase=No
purchase=No
}}
}}


'''Driller''' is a action/adventure game featuring scaling and rotating polygon graphics. You're the sole voyager happening upon an abandoned space station that's ready to explode from the pressure of dangerous vapors building up inside. For each sector, you must locate the build-up area, then drill to release the pressure. Features 18 different areas to explore, each with its own unique laws of physics and logic, and a number of secret rooms and hidden levels to discover.
'''Driller''' is an action/adventure game featuring scaling and rotating polygon graphics. You're the sole voyager happening upon an abandoned space station that's ready to explode from the pressure of dangerous vapors building up inside. For each sector, you must locate the build-up area, then drill to release the pressure. Features 18 different areas to explore, each with its own unique laws of physics and logic, and a number of secret rooms and hidden levels to discover.


The game was release in the US under the name '''Space Station Oblivion''' due to trademark issues with '''Driller''' name.
The game was released in the US under the name '''Space Station Oblivion''' due to trademark issues with '''Driller''' name.
   
   
==Installation==
==Installation==
===Required data files===
For more information on how ScummVM uses game data files, see the [https://docs.scummvm.org/en/latest/use_scummvm/game_files.html user documentation].
For more information on how ScummVM uses game data files, see the [https://docs.scummvm.org/en/latest/use_scummvm/game_files.html user documentation].


Driller was [[Driller/Releases| released in a number of platforms]] over the years. Depending on release you have, you need to copy different files.
Driller was [[Driller/Releases| released in a number of platforms]] over the years. Depending on release you have, you need to extract and/or copy different files.
 
===ZX Spectrum releases===
 
If the ZX Spectrum release is from a tape, it [https://timwolverson.wordpress.com/2016/05/10/how-to-convert-zx-spectrum-programs-from-cassette-tape-to-tzx-files/ should be saved first from the original cassette into a tzx file]. Make sure you save the complete disk, not just a single program from it.
 
Once the tape is saved,  you will need to extract three files:
 
* The title screen image, which should be renamed as "driller.zx.title" and has exactly 6912 bytes.
* The game data, which should be renamed as "driller.zx.data" and is around 37k bytes.
* The border image, which should be renamed as "driller.zx.border" and has exactly 6912 bytes.
 
These files <b>will appear in order</b> so you should which one, using their size.
 
==== Windows ====
 
In Windows, you can use a freeware program called [https://www.alessandrogrussu.it/tapir/ Tapir] to view and extract tzx files.
 
1. Download [https://www.alessandrogrussu.it/tapir/ the program], unzip and execute tapir.exe
 
2. Open the tzx file
 
3. Select the first file from the list above (check its size and order to determinate which one it is) and double click on it.
 
4. It will open a new window. Click on "Save as file" and select the corresponding name. For instance, the first one is driller.zx.title.
 
5. Repeat this process, but selecting the other two files, making sure they are properly named.
 
Once the files are extracted, use ScummVM to add them as a game.
 
==== Linux/MacOS ====
 
If you are on Linux or MacOS (or even in Windows, but you are confortable using the command line), you can [https://github.com/shred/tzxtools install tzxtools] and extract the three required files. For instance, for the original Incentive release (1987), you can inspect their files using the <code>tzxls</code> command:
 
<code> $ tzxls driller.tzx
 
...
 
5  Turbo Speed Data Block      6912 bytes of bogus header
 
6  Turbo Speed Data Block      37590 bytes of bogus header
 
7  Turbo Speed Data Block      6912 bytes of bogus header
</code>
 
In order to extract these files, use the <code>tzxcat</code> command:
 
<code>
tzxcat driller.tzx -b 5 > driller.zx.title
 
tzxcat driller.tzx -b 6 > driller.zx.data
 
tzxcat driller.tzx -b 7 > driller.zx.border
</code>
 
Other releases will require to extract other file numbers.
For the Musical 1 release (1991) run:
 
<code>
tzxcat driller.tzx -b 4 > driller.zx.title
 
tzxcat driller.tzx -b 5 > driller.zx.data
 
tzxcat driller.tzx -b 6 > driller.zx.border
</code>
 
For the VirtualWorlds release (1991) run:
 
<code>
tzxcat driller.tzx -b 6 > driller.zx.title
 
tzxcat driller.tzx -b 7 > driller.zx.data
 
tzxcat driller.tzx -b 8 > driller.zx.border
</code>
 
using the image of the tape 1 side B disk.
 
If the ZX Spectrum release is from a disk, extract the DRILL.KEV file and rename it as <code>driller.zx.data</code>
 
ScummVM should detect that single extracted file as the game and allow to play it.
 
===Amstrad CPC releases===
 
All the Amstrad CPC releases [https://simonowen.com/samdisk/cmd_copy/ should be saved first from the original cassette/disk into a Extended dsk file].
 
Once the data is saved, use [https://github.com/damieng/DiskImageManager Disk Image Manager] to open the image and extract the following files:
 
* dscn1.bin
 
* dscn2.bin
 
* drill.bin
 
Make sure the files are '''extracted with header'''.
 
Using these files, ScummVM should detect it as the game to play it.
 
===Commodore 64 releases===
 
Commodore 64 releases are not supported yet, either for Driller nor for other Freescape games yet. It is very hard to get access to the files from the original releases since their data is heavily protected by anti-cheats. Once that is solved, the support should be easy to add.
 
===DOS releases===


For the DOS release, copy the following files:  
For the DOS release, copy the following files:  
Line 30: Line 131:
* scn1?.dat
* scn1?.dat


For the Amiga release, there are two known releases: the retail and the Kixx release.  
Regarding the US releases, which was called Space Station Oblivion, copy the following files:
For the retail release, copy the following file:
 
* oblivion.exe
* drill?.exe
* cgatitle.rl
* egatitle.rl
 
For both, only EGA and CGA rendering modes are supported so far.
 
===Amiga releases===
 
For getting the files for playing the Amiga releases, the files should be copied from the disk. One way to do it is to dump the disk and then [https://github.com/jsummers/deark use deark to extract them]. There are two known releases: the original one (retail) and the Kixx release (budget). For the retail release, copy the following file:


* driller
* driller
Line 43: Line 154:
* soundfx
* soundfx


For the AtariST release, copy the following files:
===AtariST releases===
 
For getting the files for playing the AtariST releases, the files should be copied from the disk. One way to do it is to dump the disk and then [https://github.com/jsummers/deark use deark to extract them]. There are two known releases: the original one (retail) and the Kixx release (budget). For both of them, just extract "x.prg" file.
 
Additionally, there is [https://www.mobygames.com/game/37202/virtual-worlds-the-3d-game-collection/ the Virtual Worlds release], which features several other Freescape games, but the files are packed so they cannot be used directly in ScummVM. However, there is a way to unpack them using the [https://hatari.tuxfamily.org/ debugger from the hatari emulator]:


* x.prg
1. Run <code>hatari -D disk.img</code> using the second disk, which contains Driller. As soon as it starts, it will bring the debugging console.


Other platforms are not supported yet, but they will be in the future.
2. In the debugging console, run <code>a $14d9a</code>. Then run the <code>c</code> command exactly 27 times.


Regarding Space Station Oblivion, only the DOS release is supported so far. For this release, copy the following files:  
3. Check the hatari window: the execution will continue and ask the user to select the game, press "1" to start Driller.


* oblivion.exe
4. The breakpoint will stop the execution. In the debugging console, execute the <code>savebin X.PRG $150e8 293062</code> command.
* drill?.exe
 
* cgatitle.rl
You can now use <code>quit</code> command to exit hatari.
* egatitle.rl
 
If you executed the steps correctly, ScummVM should be able to run the game from the extracted binary.
 
These instructions only applies to the international release, since the U.S release ("Space Station Oblivion") is not supported yet for AtariST.


Other releases of Space Station Oblivion should be supported soon, when we can get them.
===Other releases and demos===


[[Driller/Demos| Demos are also supported]], following the same instructions (but keeping only the files available). We collected all the [https://downloads.scummvm.org/frs/demos/freescape/ known Freescape demos], in case you want to test them. If you find an unsupported demo, please [https://bugs.scummvm.org/ open an issue] or [https://www.scummvm.org/contact/ contact us].
[[Driller/Demos| Some demos are also supported]], following [[Driller/Demos| the corresponding instructions]]. We collected all the [https://downloads.scummvm.org/frs/demos/freescape/ supported Freescape demos], in case you want to test them. If you find an unsupported demo, please [https://bugs.scummvm.org/ open an issue] or [https://www.scummvm.org/contact/ contact us].


==Improvements==
==Improvements==
Line 66: Line 184:
* It can be played using the restored music from the original compositor Matt Gray. From the original Driller releases, only the C64 version has music. Other releases are completely silent, despite their hardware could play music. This is likely related with the resource constrains of the release, more than an artistic design. Fortunately, ScummVM allows to play Driller with the intended music. To enable this feature, you must own the song "Driller Theme" from the [https://mattgray1.bandcamp.com/album/the-best-of-reformation album The Best Of Reformation] (you can either buy the complete album or just the individual song). Place the song "Driller Theme" in the same directory as the data files from any Driller release (several formats are supported including mp3, ogg, flac) and ScummVM will automatically use it as music during gameplay.  
* It can be played using the restored music from the original compositor Matt Gray. From the original Driller releases, only the C64 version has music. Other releases are completely silent, despite their hardware could play music. This is likely related with the resource constrains of the release, more than an artistic design. Fortunately, ScummVM allows to play Driller with the intended music. To enable this feature, you must own the song "Driller Theme" from the [https://mattgray1.bandcamp.com/album/the-best-of-reformation album The Best Of Reformation] (you can either buy the complete album or just the individual song). Place the song "Driller Theme" in the same directory as the data files from any Driller release (several formats are supported including mp3, ogg, flac) and ScummVM will automatically use it as music during gameplay.  


* It features improved bounding box collisions and more precise driller rig placement. The technical limitations at the time did not allowed to have precise calculations, but the ScummVM implementation is not limited in that sense.
* It features improved bounding box collisions and more precise driller rig placement. The technical limitations at the time did not allow to have precise calculations, but the ScummVM implementation is not limited in that sense.
 
==Cheats==
 
The original game actually contains a few cheats hidden in the levels bytecode. They should work correctly in ScummVM.


* Shooting the ground when you enter Obsidian from Amethyst recharges the shield. This cheat was submitted by Incentive to a [https://worldofspectrum.org/archive/magazines/crash/52#60 ZX Spectrum game magazine]:


==Cheats==
    "For unlimited shield, proceed to Obsidian and laser the southern end of the ground"


The original game do not include any cheat, however, in the first area, it is possible to change into the jet mode if the player shoots the door of the storage a number of times (this depends on the specific release, but it should be enough shooting 25 times or less).
However, it does NOT work in the ZX Spectrum release of Driller but instead it will work all the releases except the ZX Spectrum one. This was a mistake on their side. There is a similar cheat in the Opal level, but this one works in the ZX Spectrum release as well.
While this was not confirmed by any developer, but it looks like an shortcut that allows to explore all the areas of the game for debugging without getting into the jet later in the game.


Besides the [[Freescape#ScummVM_reimplementation| general Freescape cheats]], this engine also implements some specific Driller cheats:
* In the DOS, Amiga and AtariST releases, it is possible to change into the jet mode if the player shoots the door of the storage in the first area a number of times (this depends on the specific release, but it should be enough shooting 25 times or less). While this was not confirmed by any of the game developers, it looks like this was a shortcut that allows to explore all the areas of the game for debugging without getting into the jet later in the game.


* Automatic drilling: it allows to drill in any part of the areas and always obtain 100%.
Besides the [[Freescape#Cheats| general Freescape cheats]], this engine also implements some specific Driller cheats:


* Automatic drilling: it allows to drill in any part of the areas and always obtain 100%.


==Bugs==
==Bugs==


Freescape games allowed a level of freedom in movement that was ahead of their time. As expected, with the increased complexity of their engine, it also included some bugs. This is an incomplete list of bugs in the original implementation:
Freescape games allowed a level of freedom in movement that was ahead of their time. As expected, with the increased complexity of their engine, it also included some bugs. This is an incomplete list of bugs in the original implementation, indicating if the bug is already fixed (<span style="color:green;">&#x2713;</span>) or not fixed (<span style="color:red;">&#x2717;</span>) in ScummVM:
 
<span style="color:red;">&#x2717;</span> The player can step into the geometry. To reproduce:


* The player can step into the geometry. To reproduce:
1. Start the game, start walking straight and cross to next area just next to the wall.  
1. Start the game, start walking straight and cross to next area just next to the wall.  


Line 90: Line 214:
3. Go back to the previous area. You will be teleported inside the wall.
3. Go back to the previous area. You will be teleported inside the wall.


This issue is still unfixed in ScummVM.
<span style="color:red;">&#x2717;</span> The player can rise the level of their vehicle even if there is no room above it. This was fixed in the following Freescape games.
 
<span style="color:green;">&#x2713;</span> Palette swaps are not preserved when moving between areas or re-loading. To reproduce:


* Palette swaps are not preserved when moving between areas or re-loading. To reproduce:
1. Start the game and go to the storage area in Obsidian.
1. Start the game and go to the storage area in Obsidian.


Line 99: Line 224:
3. Leave the area and re-enter. The lights are on again. Saving and re-loading in that area will have the same effect.
3. Leave the area and re-enter. The lights are on again. Saving and re-loading in that area will have the same effect.


This issue is partially fixed in ScummVM.
<span style="color:red;">&#x2717;</span> No palette swap special effect is played when the player takes damage in Mitral. It is unclear if this is a bug or not, but the color used for the special effect in Mitral is invalid (21).
 
<span style="color:red;">&#x2717;</span> Climbing on top of something, and then shooting to destroy that thing will not make the player fall. This was fixed in the following Freescape games.
 
==Guides and Walkthroughs==
 
Driller is not exactly the same in different platforms. While the areas are the same, they feature puzzles with different solutions.
We compile a list of walkthroughs for different platforms:
 
* [https://www.youtube.com/watch?v=bo0zrgaqrvI ZX Spectrum]
* [http://c64.tin.at/_single_files/drillersolution.sol.txt Commodore 64]
* [https://gamefaqs.gamespot.com/sinclair/952764-driller/faqs/75579 DOS]
* [https://www.youtube.com/watch?v=_5wx1tHQ1vo AtariST]


* No palette swap special effect is played when the player takes damage in Mitral. It is unclear if this is a bug or not, but the color used for the special effect in Mitral is invalid (21).
==Related==


This issue is still unfixed in ScummVM.
* [[Driller/Demos]]
* [[Driller/Internals]]


==External links==
==External links==
*[https://www.mobygames.com/game/space-station-oblivion MobyGames entry for Driller]
*[https://www.mobygames.com/game/4933/space-station-oblivion/ MobyGames entry for {{PAGENAME}}]
*[https://en.wikipedia.org/wiki/Driller_(video_game) Wikipedia article on Driller]
*[https://en.wikipedia.org/wiki/Driller_(video_game) Wikipedia article on {{PAGENAME}}]
*[https://www.scummvm.org/screenshots/other/freescape:driller/ Screenshots]


[[Category:Freescape Games]]
[[Category:Freescape Games]]
[[Category:Unsupported Games]]
[[Category:Supported Games]]

Latest revision as of 17:05, 24 August 2024

Driller
driller_dos_en_2_1.jpg
First release 1987
Also known as Space Station Oblivion
Developed by Incentive Software
Published by Incentive Software
Distributed by Incentive Software, Epyx,
Musical 1 S.A., System 4,
The Hit Squad, Kixx
Platforms DOS, Amiga, AtariST,
Commodore64, ZX Spectrum,
AmstradCPC
Resolution 320x200, 16 colors (DOS, EGA)
Engine Freescape
Support Since ScummVM 2.7.0
Available for
Purchase
No


Driller is an action/adventure game featuring scaling and rotating polygon graphics. You're the sole voyager happening upon an abandoned space station that's ready to explode from the pressure of dangerous vapors building up inside. For each sector, you must locate the build-up area, then drill to release the pressure. Features 18 different areas to explore, each with its own unique laws of physics and logic, and a number of secret rooms and hidden levels to discover.

The game was released in the US under the name Space Station Oblivion due to trademark issues with Driller name.

Installation

For more information on how ScummVM uses game data files, see the user documentation.

Driller was released in a number of platforms over the years. Depending on release you have, you need to extract and/or copy different files.

ZX Spectrum releases

If the ZX Spectrum release is from a tape, it should be saved first from the original cassette into a tzx file. Make sure you save the complete disk, not just a single program from it.

Once the tape is saved, you will need to extract three files:

  • The title screen image, which should be renamed as "driller.zx.title" and has exactly 6912 bytes.
  • The game data, which should be renamed as "driller.zx.data" and is around 37k bytes.
  • The border image, which should be renamed as "driller.zx.border" and has exactly 6912 bytes.

These files will appear in order so you should which one, using their size.

Windows

In Windows, you can use a freeware program called Tapir to view and extract tzx files.

1. Download the program, unzip and execute tapir.exe

2. Open the tzx file

3. Select the first file from the list above (check its size and order to determinate which one it is) and double click on it.

4. It will open a new window. Click on "Save as file" and select the corresponding name. For instance, the first one is driller.zx.title.

5. Repeat this process, but selecting the other two files, making sure they are properly named.

Once the files are extracted, use ScummVM to add them as a game.

Linux/MacOS

If you are on Linux or MacOS (or even in Windows, but you are confortable using the command line), you can install tzxtools and extract the three required files. For instance, for the original Incentive release (1987), you can inspect their files using the tzxls command:

$ tzxls driller.tzx

...

5 Turbo Speed Data Block 6912 bytes of bogus header

6 Turbo Speed Data Block 37590 bytes of bogus header

7 Turbo Speed Data Block 6912 bytes of bogus header

In order to extract these files, use the tzxcat command:

tzxcat driller.tzx -b 5 > driller.zx.title

tzxcat driller.tzx -b 6 > driller.zx.data

tzxcat driller.tzx -b 7 > driller.zx.border

Other releases will require to extract other file numbers. For the Musical 1 release (1991) run:

tzxcat driller.tzx -b 4 > driller.zx.title

tzxcat driller.tzx -b 5 > driller.zx.data

tzxcat driller.tzx -b 6 > driller.zx.border

For the VirtualWorlds release (1991) run:

tzxcat driller.tzx -b 6 > driller.zx.title

tzxcat driller.tzx -b 7 > driller.zx.data

tzxcat driller.tzx -b 8 > driller.zx.border

using the image of the tape 1 side B disk.

If the ZX Spectrum release is from a disk, extract the DRILL.KEV file and rename it as driller.zx.data

ScummVM should detect that single extracted file as the game and allow to play it.

Amstrad CPC releases

All the Amstrad CPC releases should be saved first from the original cassette/disk into a Extended dsk file.

Once the data is saved, use Disk Image Manager to open the image and extract the following files:

  • dscn1.bin
  • dscn2.bin
  • drill.bin

Make sure the files are extracted with header.

Using these files, ScummVM should detect it as the game to play it.

Commodore 64 releases

Commodore 64 releases are not supported yet, either for Driller nor for other Freescape games yet. It is very hard to get access to the files from the original releases since their data is heavily protected by anti-cheats. Once that is solved, the support should be easy to add.

DOS releases

For the DOS release, copy the following files:

  • driller.exe
  • drill?.exe
  • scn1?.dat

Regarding the US releases, which was called Space Station Oblivion, copy the following files:

  • oblivion.exe
  • drill?.exe
  • cgatitle.rl
  • egatitle.rl

For both, only EGA and CGA rendering modes are supported so far.

Amiga releases

For getting the files for playing the Amiga releases, the files should be copied from the disk. One way to do it is to dump the disk and then use deark to extract them. There are two known releases: the original one (retail) and the Kixx release (budget). For the retail release, copy the following file:

  • driller

For the Kixx release, copy the following files:

  • driller
  • console.neo
  • demo.cmd
  • lift.neo
  • soundfx

AtariST releases

For getting the files for playing the AtariST releases, the files should be copied from the disk. One way to do it is to dump the disk and then use deark to extract them. There are two known releases: the original one (retail) and the Kixx release (budget). For both of them, just extract "x.prg" file.

Additionally, there is the Virtual Worlds release, which features several other Freescape games, but the files are packed so they cannot be used directly in ScummVM. However, there is a way to unpack them using the debugger from the hatari emulator:

1. Run hatari -D disk.img using the second disk, which contains Driller. As soon as it starts, it will bring the debugging console.

2. In the debugging console, run a $14d9a. Then run the c command exactly 27 times.

3. Check the hatari window: the execution will continue and ask the user to select the game, press "1" to start Driller.

4. The breakpoint will stop the execution. In the debugging console, execute the savebin X.PRG $150e8 293062 command.

You can now use quit command to exit hatari.

If you executed the steps correctly, ScummVM should be able to run the game from the extracted binary.

These instructions only applies to the international release, since the U.S release ("Space Station Oblivion") is not supported yet for AtariST.

Other releases and demos

Some demos are also supported, following the corresponding instructions. We collected all the supported Freescape demos, in case you want to test them. If you find an unsupported demo, please open an issue or contact us.

Improvements

Beyond the general Freescape engine improvements, Driller was re-implemented with the following new features:

  • It can be played using the restored music from the original compositor Matt Gray. From the original Driller releases, only the C64 version has music. Other releases are completely silent, despite their hardware could play music. This is likely related with the resource constrains of the release, more than an artistic design. Fortunately, ScummVM allows to play Driller with the intended music. To enable this feature, you must own the song "Driller Theme" from the album The Best Of Reformation (you can either buy the complete album or just the individual song). Place the song "Driller Theme" in the same directory as the data files from any Driller release (several formats are supported including mp3, ogg, flac) and ScummVM will automatically use it as music during gameplay.
  • It features improved bounding box collisions and more precise driller rig placement. The technical limitations at the time did not allow to have precise calculations, but the ScummVM implementation is not limited in that sense.

Cheats

The original game actually contains a few cheats hidden in the levels bytecode. They should work correctly in ScummVM.

  • Shooting the ground when you enter Obsidian from Amethyst recharges the shield. This cheat was submitted by Incentive to a ZX Spectrum game magazine:
   "For unlimited shield, proceed to Obsidian and laser the southern end of the ground"

However, it does NOT work in the ZX Spectrum release of Driller but instead it will work all the releases except the ZX Spectrum one. This was a mistake on their side. There is a similar cheat in the Opal level, but this one works in the ZX Spectrum release as well.

  • In the DOS, Amiga and AtariST releases, it is possible to change into the jet mode if the player shoots the door of the storage in the first area a number of times (this depends on the specific release, but it should be enough shooting 25 times or less). While this was not confirmed by any of the game developers, it looks like this was a shortcut that allows to explore all the areas of the game for debugging without getting into the jet later in the game.

Besides the general Freescape cheats, this engine also implements some specific Driller cheats:

  • Automatic drilling: it allows to drill in any part of the areas and always obtain 100%.

Bugs

Freescape games allowed a level of freedom in movement that was ahead of their time. As expected, with the increased complexity of their engine, it also included some bugs. This is an incomplete list of bugs in the original implementation, indicating if the bug is already fixed () or not fixed () in ScummVM:

The player can step into the geometry. To reproduce:

1. Start the game, start walking straight and cross to next area just next to the wall.

2. Turn left and walk a few step.

3. Go back to the previous area. You will be teleported inside the wall.

The player can rise the level of their vehicle even if there is no room above it. This was fixed in the following Freescape games.

Palette swaps are not preserved when moving between areas or re-loading. To reproduce:

1. Start the game and go to the storage area in Obsidian.

2. Shoot the lights.

3. Leave the area and re-enter. The lights are on again. Saving and re-loading in that area will have the same effect.

No palette swap special effect is played when the player takes damage in Mitral. It is unclear if this is a bug or not, but the color used for the special effect in Mitral is invalid (21).

Climbing on top of something, and then shooting to destroy that thing will not make the player fall. This was fixed in the following Freescape games.

Guides and Walkthroughs

Driller is not exactly the same in different platforms. While the areas are the same, they feature puzzles with different solutions. We compile a list of walkthroughs for different platforms:

Related

External links