scene.org File Archive

File download

<root>­/­demos­/­compos­/­minigame02­/­game/spectrum.zip

File size:
23 095 bytes (22.55K)
File date:
2018-02-04 06:37:22
Download count:
all-time: 247

Screenshot (by Demozoo)

Screenshot

Preview

  • 1kanoid.txt 2.24K
  • dotathon.txt 1.59K
  • easyfrog.txt 1.64K
  • pobble.txt 1.05K
  • readme.txt 1.17K
  • samegame.txt 962B
  • shisen1k.txt 4.19K
  • snake1k.txt 1.15K
  • soliyawn.txt 2.44K
  • spectris.txt 2.36K
  • spectrum.tap 10.44K
  • ztrack1k.txt 1.44K

file_id.diz

1Kanoid - A 1k version of Arkanoid

a public domain minigame by Paolo Ferraris (pieffe8@libero.it)

For ZX Spectrum 16k/48k/128k/+2/... blah blah blah!

This minigame does not work with hardware devices like Microdrive
that change the memory address where BASIC programs are loaded.


What is new in version 1.1

 - L bonus added
 - level reported on screen
 - other visual improvements



"Another Breakout game?!? There are probably dozens of implementations of
Breakout game that fit in 1k." 1Kanoid would be better defined as an
Arkanoid clone, as it includes some of its features.
I consider Arkanoid as one of the most frustrating but fun game ever
created. Frustrating because it is very difficult to play it. Fun because
it has a lot of different levels and bonuses that make it not boring. I
am still playing the CGA version of Arkanoid on my PC.

The game controls for this minigame are:

  6-left    7-right      0-launch the ball/shoot

or a Interface II/Sinclair Joystick in port 1.

The graphics are very simple. No score. The number of lives is reported
in the top right of the screen, along with a letter from A to P that
indicate the level. The 16 levels are similar each others, but are of
increasing difficulty. The blocks have
different colors that indicate how many times they have to be hit to be
destroyed. A destroyed block may release a letter that, if collected,
gives you a bonus:

    P - an additional life
    S - slow down the speed-increasing ball
    H - an exit opens on the right. That brings to next level.
    C - the ball doesn't bounce on the ship (well... stick), and will
        leave the stick after 5 seconds or after pressing 0
    E - the ship/stick becomes wider.
    L - your ship can shoot to destroy bricks

Note that the effects of C,E and L are lost once you get another bonus.
No other letters is released once H has been collected.

The V bonus, the 3 balls one, there was no way to fit it in 1k :-(

The difficulty level is not too hard if you master the original Arkanoid.

In any case I hope you enjoy the game for a few minutes :-)


This is probably the biggest(!) program for the Spectrum that I wrote in
assembly. Well, the fact is that I never had a good Z80 assembler while
I was using a real Spectrum. Cross compilers are great!

dotathon - entry for 2002 Minigame Compo

Public domain by Russell Marks (rus@svgalib.org)

for 48K/128K Spectrum


(NB: It won't work if a Microdrive or any other additional hardware
 which effectively moves PROG is being used. So don't do that.)


dotathon is a simple tunnel-following game, a bit like the first bonus
stage in Tempest 2000.

The aim of the game is to keep inside the tunnel of dots. :-) More
precisely, you have to keep the centre of the screen within the
squares which keep advancing towards you. Admittedly, they don't look
much like squares; only the four corners are shown.

You get 3 lives - these aren't indicated onscreen, but the edge of the
screen turns red when you lose one. Lose them all and it's game over,
and at this point you finally get to see your score. (Your score is
increased once for each square successfully passed through, with the
score increase going up each time until you lose a life.)

The controls are:

Q   up
A   down
O   left
P   right

When running the game on an emulator, be sure to either use a
fullscreen mode, or as large a window as you reasonably can. Those
single pixels can be a bit hard to see otherwise. :-)

Also, do load the game in 128 mode if you can. It has some simple but
fairly effective AY sound effects.

Known bugs:

- you can probably still get the odd bit of flicker, but I think I
  managed to fix the worst of this.

- the collision detection (so to speak) is reasonably generous, partly
  since "centre of the screen" is a fairly vague description. :-)

-Rus.

PS. The source, suitable for assembly under Unix/Linux using zmac, is
here in src.tar.gz.
easyfrog - entry for 2002 Minigame Compo

Public domain by Russell Marks (rus@svgalib.org)

for 16K/48K/128K Spectrum


(NB: It won't work if a Microdrive or any other additional hardware
 which effectively moves PROG is being used. So don't do that.)


easyfrog is a minimalistic Frogger clone, which is much too easy
(hence the name).

The aim of the game is simple - get your frog across the road and the
river. Making it over the road is simple enough, just avoid the cars.
But apparently you're some kind of hydrophobic frog, and you have to
ride on the logs to cross the river. Once you get past the river, you
should jump the frog into a vacant `home' (blank square). If you fill
all four homes, you get another level to try.

You get 3 lives, though these aren't indicated onscreen (sorry). If
you lose all of them it's game over, and the edge of the screen turns
red for a couple of seconds before a new game starts.

The controls are:

Q   up
A   down
O   left
P   right

These do auto-repeat if you hold them down, but I wouldn't recommend
doing that, it doesn't work very well.

Known bugs:

- if you dive the frog into the water, missing the logs, it (before
  dying) follows the log movement for one `frame' even though it's not
  actually on a log.

- the .tap file is big enough that I'm relying on `metadata' (the tape
  header) not counting towards the 1k total. I'm pretty sure that this
  is unofficially the case, but I don't think it was mentioned in the
  competition rules etc. last time I checked.

- it's much too easy. But you know that one already. :-)

-Rus.

PS. The source, suitable for assembly under Unix/Linux using zmac, is
here in src.tar.gz.
pobble 1k - entry for 2002 Minigame Competition

Public domain by Dominic Morris (dom@rst38.org.uk)

for 16/48/128/blah Spectrum

NB. It won't work if a Interface 1 or any other hardware which moves PROG 
is being used


pobble 1k is a simple puzzle game where the aim is to get three balls in a 
straight row whilst fighting the rising waters (or arrows as the case maybe!).

The display is easy to understand, with textual representations of the 
score, level, required rows and lives. The game will continue until all of
your lives are used, it will then exit to BASIC. You can restart it using
RUN should you so desire.

Player keys are:

Q = left
P = right
M = drop stone

The motivation for this game was to come up with something more original
than the Sokoban and Tron games I came up with before hitting on this
idea. I've got a few more ideas in mind, though Frogger has bitten the
dust since Russell did Easyfrog.

Source is supplied suitable for assembly with z80asm (see http://z88dk.sf.net)

Thanks to Russell Marks for making the .TAP converted used

Enjoy,

d.

Sinclair Spectrum


The games are stored in a TAP file, with a game menu. Press a key
to load the corresponding game. Some games might work on 16K or
48K Spectrums, but benefit from the better sound capability in the
128K, so try to emulate that if possible.

Windows

  The recommended emulator is ZX-32,

    ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/pc/windows/zx32/tests/zx32th02.zip

  Unpack it to a directory and start zx32.exe. Select ZX -> Open... in
  the menu. Doubleclick on spectrum.tap to start the menu.


Unix

  The recommended emulator is Fuse,

    http://www.srcf.ucam.org/~pak21/spectrum/fuse.html


MacOS

  Try MacSpectacle,

    http://emulation.net/zx/


Amiga

  The recommended emulator is X128,

    http://www.lagernet.clara.co.uk/x128.html

  Unpack the emulator and the rom files in the same directory. If your
  Amiga is slow set frameskip to 2 or more (using X128Prefs) to speed
  things up. After having started the emulator, press F7 to select the
  .TAP iimage and then select "Tape loader". The menu will load, press
  a number to select a game. F4 lets you select joystick type for
  those games that support a joystick. F10 exits the emulation.
samegame 1k - entry for 2002 Minigame competition

Public domain by Dominic Morris (dom@rst38.org.uk)

for 16/48/128/etc Spectrum

NB. It won't work if a Interface 1 or any other hardware which moves PROG 
is being used

Samegame is ermm, a stone matching game. You can match 2 or more stones 
together and they vanish and the board scrunches up. The aim is of course 
to get rid of all the stones and get the highest score.

Player keys are:

Q = up
A = down
O = left
P = right
M/SPACE = select the highlit stones
G = restart game

Sorry no sound effects this time and yes, that is the same stone graphic
as for pobble 1k! But(!) you do get a rather funky(!) font thrown in.

Okay, the motivation for writing this game was that I love SameGnome and 
have been known to play it for far too long when I should be doing other 
things (simple games always get me hooked!)

Source for the game is in a format suitable for z80asm (http://z88dk.sf.net)

Enjoy!

d.



Shisen1K - A 1k version of Shisen

a public domain minigame by Paolo Ferraris (pieffe8@libero.it)

For ZX Spectrum 16k/48k/128k/+2/... blah blah blah!

This minigame does not work with hardware devices like Microdrive
and Interface 1 that change the memory address where BASIC programs
are loaded.

What is new in version 1.2

- Fixed a bug introduced in version 1.1. That caused improper reinsertion
  of tiles with the back command, in the non-gravity variant.

What is new in version 1.1

- Shisen1K now hilights all tiles of the same kind of the one under the
  cursor (that's for compensating the fact that in the real Shisen
  tiles are more distinguishable)
- Sound effects, when removing two tiles, added


Shisen is a game similar to Mahjongg, and it uses the same tile set.
The goal of the game is the also same: remove pairs of tiles
of the same kind. What changes is the removal criteria. A pair of such
tiles can be removed only if they can be connected by at most three
horizontal and vertical lines.

The gravity variant is implemented also. With gravity, tiles fall down
when a tile below them is removed. Shisen1K starts with gravity.

Shisen1K differs from the original game in the tile sets - alphabet
letters - and in the board size: 14x6 tiles instead of 18x8.

The main keys are (the key combinations for the 40-keys Spectrum 16/48k
are reported in parentheses)

    four arrows (CAPS+5,6,7,8)   : move the cursor
    ENTER			 : select the tile under the cursor
    H				 : show available moves - see below

To remove two tiles, select them in sequence.
To deselect a selected tile, just press ENTER on it again.
Each time 'H' is pressed, a different pair of tiles that can be removed
is shown, until there are no pairs left. Pressing ENTER when a pair is
shown removes such pair.
If 'H' is pressed when a tile is selected, only pairs that contain
that tile are shown.

There are various commands to start a new game

    N	               : start a new game
    backspace (CAPS+0) : toggle the gravity on/off and start a new game
    S		       : choose a seed

Each board is generated by a seed - a number between 1 and 65535
inclusive. The seed of the current board is shown on the screen.
The board generally is chosen randomly, but with 'S' you can choose the
seed. That is useful if you want to try the same board in different
days: just write the number down and insert it another time. Note that
writing 0 as a seed indicates a random seed.

Shisen1K remembers all removals done so far, and allows to go back and
forward these moves. The keys that can be used for that are

    B	   : back
    F	   : forward
    R	   : restart (i.e. all removed tiles go back on the board)
    L	   : last move (i.e. remove all "re-placed" tiles again)

Note that using these keys is considered cheating.

The border color changes to give some information.
    Cyan   : (no message)
    White  : you won!
    Black  : sorry, no moves left
    Red	   : you cheated!

I hope you will enjoy the game for at least a few minutes :-)


- A few notes about the development of this minigame.

I know Shisen since the '80s (from a coin-op) and I like it more than
Mahjongg. I first implemented the game for PC in QuickBasic in text
mode about ten years ago. Last year I saw an implementation of the game
(the best, in my opinion) for KDE. Then I decided to write it again for
the 2002 minigame compo.

My initial idea was to implement the basic features and fill the
remaining memory with tile pictures, but the space left was enough for
small pictures only. I then decided to use alphabet letters and
fill the remaining space with additional features, like the back/forward
commands and a very basic help system: only one move.

The program was exactly 1024 bytes, but some code rearrangments allowed
me to save 100 bytes! The audio routine for the 128k version that I
tried to write at this point was too big and then discarded.

Then the gravity variant, that is present in the KDE implementation,
came into my mind. I decided to implement it into a separate 1k program,
but 1024 bytes were enough for mode toggling code also, so that a
single program contains both versions. Finally, further optimizations
allowed me to complete the help system as it is now and add the seed
choosing.
Snake1K - A 1k version of Snake Race

a public domain minigame by Paolo Ferraris (pieffe8@libero.it)

For ZX Spectrum 48k/128k/+2/... blah blah blah! Does not work on
the Spectrum 16k.

This minigame does not work with hardware devices like Microdrive
and Interface 1 that change the memory address where BASIC programs
are loaded.

Snake1K is a 1k version of Snake Race, a snake clone developed for
KDE. You are a snake that has to get all apples on the screen and pass
through the exit door. Beware the other snake that moves randomically
and the bouncing ball!

If you hit any wall, your tail, (that becomes longer every time you get
an apple) the other snake or the ball, you lose a life. You lose a life
if the head of your snake gets hit by the ball as well.

A bar on the right of the screen indicates the time left. When time is
over, more apples appear, and if the exit is open, it closes!

There are eight different levels i.e. 8 different wall positions.

Put a Sinclair joystick in port 1, or use a Interface 2 joystick.
The four directions control your snake.

If no joystick is available, the controls are:

   6 - left
   7 - right
   8 - down
   9 - up


Enjoy
soliyawn - entry for 2002 Minigame Compo

Public domain by Russell Marks (rus@svgalib.org)

for 16K/48K/128K Spectrum


(NB: It won't work if a Microdrive or any other additional hardware
 which effectively moves PROG is being used. So don't do that.)


soliyawn is a version of the Solitaire (or Klondike) single-player
card game. It uses the (easier) 1-card draw variant.

After writing ztrack 1k I thought it might be nice to try something a
little more sedate - so I decided to try writing Solitaire after
looking at the 2001 entries, where (apparently) no-one entered any
card games. But a card game was bound to look incredibly boring up
against all the other entries, hence the name. :-)

The aim of the game is to get all the cards in each suit onto the
matching ace pile, in ascending order (with aces low) from ace to
king. To help you do this, you can move cards onto/between the seven
main runs of cards which are dealt when you start. Any face-up cards
on those must be in descending order (K, Q, J, 10, ... 2), and have
alternating red/black suit. When moving cards between the main
`piles', you can only move entire runs (every face-up card on the
`pile'). When moving to a main `pile' which has no cards at all, you
can only move a king there (or the top card of the run you're moving
must be a king).

The display is laid out in the following way:


   main card piles


  deck          aces


Initially you can't see the ace piles, as you have to move an ace to
them before there'll be anything there. :-)

The controls are:

Enter
    turn over a card from the top of the deck (if the deck is empty,
    it flips the turned-over cards back onto the deck first).

1..7 or D
    pick a card (or run) to move from the numbered pile or the deck
    (actually the topmost turned-over card). Once you've pressed this
    key, you then choose where to move it, with 1..7 and A meaning
    either the numbered pile, or the relevant ace pile. If you attempt
    a move which isn't allowed, you'll get beeped at.

Caps-shift+R
    restart - abandon the current game, and reshuffle/deal from
    scratch. (In most emulators Caps-shift will be on the main shift
    key(s).)


There's one known bug - the game lets you move aces onto 2s on the
main piles. This is harmless, but strictly speaking I don't think the
rules allow you to move aces between the main runs. Though I could be
wrong. :-)

-Rus.

PS. The source, suitable for assembly under Unix/Linux using zmac, is
here in src.tar.gz.
spectris - A 1k version of Tetris for ZX Spectrum

a public domain minigame by Paolo Ferraris (pieffe8@libero.it)

For ZX Spectrum 16k/48k/128k/+2/... blah blah blah!

A Spectrum 128k or better is strongly suggested for music playback.
If not available, a Spectrum 48k is suggested: the Spectrum 16k
would not show the reversed 'R'.

This minigame does not work with hardware devices like Microdrive
and Interface 1 that change the memory address where BASIC programs
are loaded.

The tune is taken from Renzo Arbore's Cacao Meravigliao, a song
and a fake commercial in a Italian TV show, Indietro Tutta.


What is new in version 1.1

- music gets faster when the pile of pieces is very high


I think that an explanation on what is Tetris is probably not
necessary. Pieces fall down. You can move and rotate them to fill
rows that are then removed. Game is over when the screen is full.
The block that will fall next is shown on the right.

In this implementation, each time 5 rows are removed, the pieces start
falling faster, for a total of 20 different speeds/difficulty levels.
While the the speed in the first levels is very similar, last levels
are *VERY* difficult.

The joystick commands (Interface II or Sinclair port 1) and corresponding
keyboard keys are:

left or 6  : move the falling piece left
right or 7 : move the falling piece right
fire or 0  : rotate the falling piece
down or 8  : move the falling piece down

If we exclude the down movement, holdind the joystick in a direction
doesn't bring to multiple movements. You have to release the joystick
between each movement.


ENTER starts a new game.


I hope you will enjoy the game for at least a few minutes :-)


- A few notes about the development of this minigame.

This is the fifth implementation of Tetris in two years of minigame
compo. I generally choose games not implemented yet in the compo, but
this is not the case.
The main reasons are the following
 + I never implemented Tetris before
 + As far as I know, no other Tetris minigame implementation has music
 + I wanted to use my music and sound routines in some minigame, and
   Tetris leaves enough memory space for them.
 + When I started writing this minigame, no other Spectrum minigame was
   using the AY sound chip.

I am not an expert of AY-music, and I tried to get the most I could
from a single channel music. If any of you have suggestions I would be
happy hear them :-)
ztrack 1k - entry for 2002 Minigame Compo

Public domain by Russell Marks (rus@svgalib.org)

for 16K/48K Spectrum, or 128 in 48K mode


(NB: It won't work if a Microdrive or any other additional hardware
 which effectively moves PROG is being used. So don't do that.)


ztrack 1k is a crude "3D" driving game (based on an old text-mode game
I wrote for Unix/Linux), which has graphics so chunky an Atari 2600
would cough slightly and shuffle its feet. :-) You drive along a
straight three-lane road, and gradually accelerate to your maximum
speed (so there's no accelerator key). The aim of the game is to keep
going for as long as you can without crashing into the other cars
(those being the funny yellow blobs). When you crash, the border turns
red for a little while, then you start again from scratch.

The display should be pretty easy to understand, but I should probably
point out that the little squiggly bits at the bottom of the screen
(on the left and right) are meant to be your wing mirrors. When a car
is visible in one of those, it means they're parallel with you, so
turning that way will result in a crash.

The controls are:

A   brakes
O   left
P   right

As I say, it is crude - there's no score or speed display, and the
computer cars have an alarming tendancy to go straight through each
other. (!) But hey, if it fits in 1k it can't be too bad, right? :-)

-Rus.

PS. The source, suitable for assembly under Unix/Linux using zmac, is
here in src.tar.gz.