Z88dk Bank Switching Part 4: Data Compression

This is the fourth part of a multi-part series of using Z88dk to create a 128k program with Bank Switching. The code is available from https://github.com/andydansby/zx-spectrum-128k-screen-paging-sccz80

Data Compression

Our data, i.e. images, sound files, etc need to be compressed if we are going to fit our game within such limited space.

Continue reading “Z88dk Bank Switching Part 4: Data Compression”

Z88dk Bank Switching Part 3: Bank Switch Loader

This is the third part of a multi-part series of using Z88dk to create a 128k program with Bank Switching. The code is available from https://github.com/andydansby/zx-spectrum-128k-screen-paging-sccz80

BANK SWITCH LOADER

I cannot take any credit for this little assembler program as it was found in a post by Ast A Moore at http://spectrumcomputing.co.uk.

It’s quick and fast and works like a charm. Thanks, Mr. Moore.
Continue reading “Z88dk Bank Switching Part 3: Bank Switch Loader”

Z88dk Bank Switching Part 2: Basic loader

11-21-2019

This is the second part of a multi-part series of using Z88dk to create a 128k program with Bank Switching. The code is available from https://github.com/andydansby/zx-spectrum-128k-screen-paging-sccz80

BASIC LOADER

Just about every program written for the ZX Spectrum uses a BASIC loader to perform all the small little steps required to load your game, our program is no different. We have to load our main binary, perform a bank switch and load each of the banks separately. Continue reading “Z88dk Bank Switching Part 2: Basic loader”

Z88DK Bank Switching Part 1 : Overview

This is the first part of a multi-part series of using Z88dk to create a 128k program with Bank Switching.  The code is available from https://github.com/andydansby/zx-spectrum-128k-screen-paging-sccz80

Preface:
ZX Spectrum 128K bank-switching outside of the Mojon Twins engine has eluded me for months. The Mojon Twins game engines MK1, MK2 are based on an old version of Z88dk and not only did I want to get away from the old version of Z88dk, but I also wanted to start playing with a different game engine.
Continue reading “Z88DK Bank Switching Part 1 : Overview”

Moving upwards to Z88dk 1.99b

I am moving up to Z88dk 1.99b and away from the old version used by the Mojon Twins. This is being done to take advantage of the newer features available in Z88dk. Yes, this will mean that I am not working with the MK2 engine, but am exploring a different game engine.

However, before exploring a new game engine, I need to get my understanding of Z88dk under control.

My next game will be a 128k game only as I found developing for a 48k game a bit restricting. With the availability of emulators and clones, everyone can play a 128k only game easily, so nobody is getting left behind.

If you need a great clone of a 48k/128k machine, I highly recommend that you obtain a ZX Uno or a ZX DOS from Antonio Villena from the links above. They are reasonably priced clones that not only act as a ZX Spectrum, but also other machines that you may want to clone.

Coming up soon, how to start compiling for a 128k machine with bank switching.

Let’s explore this together.

Correcting a small bug in Z88dk 1.99b

11-17-2019
While doing some testing programming in Z88dk, I noticed a bit of an error when compiling in the new library. I had not much experience in using the new library, but I started to go around in circles when a 32bit unsigned number could not perform a greater than comparison. I am using a 32bit unsigned number to keep up with high scores.

The error the Z88dk reported was.

Continue reading “Correcting a small bug in Z88dk 1.99b”

Tweaking the bullet operation

This is a small revisit back to the operation of firing bullets.

One of the problems that I have seen during the testing of the game is how the bullets are fired. Initially, bullets fire to the right (west) before the player moves. If the player is moving, the bullets will fire in the direction of the player, but on stopping, they will fire again on heading west. The problem with this is when the player sets up a shot and stays in one place, the bullet will not go in the last direction the player is in, but always go right.

Continue reading “Tweaking the bullet operation”

Rewriting the End Game

At this point in my development, I had only really been testing and developing the 48k portion of the FASE game engine. However, FASE works in 3 different ways, 48k only machines, 128k Machines and Clone machine. If you run on a 48k machine, the 48k engine code is different from the 128k machine code. If you take code developed for 48k machines, it may not be compatible with a 128k machine, and vice versa.

Continue reading “Rewriting the End Game”

Using an Alternate Sound Engine. Steve Turner’s sound engine.

BeepFX is the most popular and most visible sound engine widely available, however, it’s not the only engine available.

While researching sound engines, I came across the Steve Turner sound engine. This is the same engine used within Quazatron, Ranarama, Ironman among other games written by Steve Turner. Jerri from the WOS forums disassembled and recreated the source code which he published. His post along with the editor can be found on the WOS forums here.

Continue reading “Using an Alternate Sound Engine. Steve Turner’s sound engine.”

Sound effects in your game

As much as a great menu is important to your game, so are in-game sound effects. Audio feedback of firing your gun is much more appealing to the player than a silent bullet being fired. It allows for more immersion into the game you are playing.

Continue reading “Sound effects in your game”

Design a site like this with WordPress.com
Get started