--- title: "Aquaplane" id: 72482 type: "computer_media" slug: "aquaplane" url: "http://localhost/computer_media/aquaplane/" markdown_url: "http://localhost/computer_media/aquaplane.md" published_at: "2026-10-24T00:59:42+00:00" modified_at: "2026-10-24T00:59:42+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/10/aquaplane-1.png" excerpt: "Steer a speedboat and its water-skier along the coast, dodging rocks, rival boats and sharks, in Quicksilva's 1983 arcade game." post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "Quicksilva" slug: "quicksilva" taxonomy: "post_tag" url: "http://localhost/tag/quicksilva/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "J. Hollis" slug: "j-hollis" taxonomy: "indiv" url: "http://localhost/indiv/j-hollis/" genre: - name: "Game" slug: "game" taxonomy: "genre" url: "http://localhost/type/game/" media_type: "Program" programmers: - name: "J. Hollis" slug: "j-hollis" taxonomy: "indiv" url: "http://localhost/indiv/j-hollis/" download_url: "https://archive.org/download/timex-sinclair-software-archive/Aquaplane%20%281983%29%28Hollis%2C%20J.%29%28TS2068%29%28US%29%28Program%29.zip" tsrun_member: "Aquaplane (1983)(Hollis, J.)(TS2068)(US)(Program)/Aquaplane (1983)(Hollis, J.)(TS2068)(US)(Program).tap" mediadate: "1983" producer_company: - id: 11197 title: "Quicksilva" type: "company" url: "http://localhost/company/quicksilva/" images: - url: "http://localhost/wp-content/uploads/2026/10/aquaplane-1.png" - url: "http://localhost/wp-content/uploads/2026/10/aquaplane-2.png" - url: "http://localhost/wp-content/uploads/2026/10/aquaplane-4.png" related_products: - id: 37136 title: "Aquaplane" type: "product" url: "http://localhost/product/aquaplane/" media_type_tags: "Game" license: false --- # Aquaplane Aquaplane is an arcade game: you pilot a speedboat towing a water-skier across the sea, with clouds and a mountain coast behind. You dodge rocks, regattas, speedboats and the “Great White Hungrys”. The keys are 7 and 6 to move up and down, 0 for thrust, H to hold, S to start, and J for joystick. A “TODAYS GREATEST” table keeps the high scores, and spare skiers are shown along the bottom of the screen. The title screen reads “A Q U A P L A N E — © 1983 J.HOLLIS”, and the game was published by Quicksilva. Its BASIC loader is titled “VLOADER”, version 1.0, created 25 November 1983 by S. S. Dosanj (Bitterne Software). ## Program Analysis ### Loader The BASIC loader sets the colors, prints a flashing “LOADING” and loads a loading screen and then a 33,587-byte code block at 31948, which it starts with `RANDOMIZE USR 53248`. Lines 9000–9020 are an unused utility that scans memory for pairs of the byte 88 and POKEs them to 16. ### Notable Techniques - The whole game is machine code. BASIC only loads it. - The code fills memory from 31948 to the top of RAM. ### Potential Issues - The loader as found on the disk has no `CLEAR`, so on a stock TS2068 the code loads over the machine stack and the computer crashes. This copy adds one (see below). This copy came from a Larken disk and was converted for tape: the `PRINT USR 100` disk prefixes were removed and `CLEAR 31947` was added to line 55 so the code loads safely. It was tested on a stock TS2068 in ZEsarUX: title, play and a running game. ## Source Code ````````` 10 REM program VLOADER 20 REM created 25TH NOVEMBER 1983 30 REM version 1.0 40 REM author S. S. DOSANJ (BITTERNE SOFTWARE) 50 REM 55 BORDER 0: INK 7: PAPER 7: CLS : REM 57 PRINT #0;AT 0,12; INK 7; FLASH 1;"LOADING"; FLASH 0; INK 0: REM 60 PRINT USR VAL "100": LOAD "aquasc.C1"SCREEN$ : REM 100 PRINT AT 19,0;: REM 120 PRINT USR VAL "100": LOAD "aquamc.C1"CODE : REM 130 RANDOMIZE USR 53248: REM 140 STOP 9000 FOR F=(PEEK 23635+256*PEEK 23636) TO 9999999 STEP 2: BORDER 0: BORDER 2: REM 9005 IF PEEK F=88 AND PEEK (F-1)=88 THEN POKE F-1,16: BEEP .1,1: REM 9010 IF (PEEK F=88 AND PEEK (F+1)=88) THEN POKE F,16: BEEP .1,0: REM 9015 IF PEEK F=96 AND PEEK (F+1)=96 THEN STOP : REM 9017 IF PEEK F=88 AND PEEK (F-1)=88 THEN POKE F-1,16: BEEP .1,1: REM 9020 NEXT F: REM 9999 REM ```````` `````````