Lady Bug - BBC Micro Computer

Play LadyBug

Click the button above to play ladybug in your web browser (keyboard required) using jsbeeb javascript BBC Micro Computer emulator Google Chrome or a fast computer is recommended for a smooth experience otherwise the game will run slowly with choppy sound.

If you need to redefine the control keys then press the default down key ('/' forward slash) until you select the controls option, press enter followed by the keys you require for up down left right.


Download B-Em or Download BeebEmEmulators for the smoothest experience.


Source code Including bbc disk image available on github.

Project diary Full project build diary and source codes on stardot.


Note: screens captured from various builds, final build may differ slightly.


original game

Lady Bug was originally a Z80 based arcade video game produced by UNIVERSAL in 1981.

This remake is written in 6502 assembly language for the BBC Micro Computer.

Various BBC Microcomputer emulators are available online, I use the excellent b-em application.

You can download the current build disk image and full source code here.

The full project diary, disk images and source code for various builds up to the current build are available on the StarDot forums.


2024-03-28

Build 003392 - Lady Bug

I noticed that the changes to boot.bas has had an effect on reset.bas for some reason, when choosing the R option from the menu I saw that the screen kind of glitched a little so I have fixed this by changing the way the screen is cleared

Also in .enemySpawn (ladybug.asm) there were two loops to check if the enemy box was empty and if there was an available enemy to spawn into the box, I have combined these two loops into one saving 7 bytes.


2024-03-26

Build 003388 - Lady Bug

Added a test in boot.bas to check if the files named in _Maps actually exist on the disk, any files that are not found will have its filename in _Maps replaced with the default file name for that slot _Map1 _Map2 _Map3

This prevents the map editor going crazy if a map file was renamed or deleted from the disk but still referenced in the _Maps file.


2024-03-25

Build 003385 - Lady Bug

When I originally wrote ladybug it was a single maze game like the arcade game where the central enemy box had a single upwards facing exit

Later I added the maze editor to allow players to create/edit many mazes on disk and select any 3 to play in game, this led to the possibility of the enemy central box having exit(s) in other directions or even none at all !

The game was originally hard coded to assume that there was only the upward facing exit so in this build I have fixed the .enemyRelease function in ladybug.asm to check for available exits and chose one at random, if none exist then the enemy is left inside the box and isn't released.


2024-03-20

Build 003380 - Lady Bug

Fixed a tiny bug that was present in all previous builds which caused the hearts and letters to be cyan for a fraction of a second before changing red when a level first starts.


2024-02-10

Build 003375 - Lady Bug

Slight rewrite to the enemy release code.


2024-01-24

Build 003370 - Lady Bug

Fixed another enemy early release bug
Fixed the red skulls on the special bonus screen.


2023-09-18

Build 003365 - Lady Bug Fix for the finished at last build :P

Fixed a small mistake in build 003360 that could cause an enemy to be released early.


2023-07-28

Build 003360 - Lady Bug Finished at last

Rewrote the enemy release code to use a flag instead of the timer window and now its finally finished.


2023-07-08

Build 003357 - Lady Bug FINAL final update (I hope)

Recent changes made to remove flicker had altered the game timing of various functions which I also fixed
However I missed one which can sometimes cause the enemy timer to make 2 full revolutions before releasing the enemy

This update is to fix that issue and hopefully there are no other problems.


2023-05-14

Build 003356 - Lady Bug final update

Fixed sprite flicker when they cross the boundary between lower and upper screen halves when they travel upwards.


2023-05-11

Build 003351 - Lady Bug update

Fixed a small mistake in the function that draws the 4 random enemies on the main menu screen
Optimized some code.


2022-12-17 Build 003350 - Final Build.
Added diamond bonus available indicator on lower panel just below the lady bug lives, will vanish if you die, collect non-cyan objects or collect the diamond bonus.


2022-08-14 Build 003330 - Fixed a major bug that was corrupting some sprites if a user had created a map that did not enough places for the game to place its hearts, letters and skull objects.


2022-03-19 Build 002977
Fixed wings on enemy 6 (wasp)
Game menu enemy speed now has 6 settings
Game menu enemy attack settings 6 to 9 now have the difficulty level increased.


2022-02-19 Build 002970 - Fixed small bug that caused the game to skip 2 levels if the last collected object on screen is also a trigger to the bonus garden.


2022-01-19 Build 002969 - Fixed small mistake in sideways ram detection, updated in-game instructions.


2021-12-12 Build 002954 - New features

High Score Table of the top 8 players saved to disk
Settings and Key Definitions saved to disk
Map Editor allows you to create and save your own maps to disk, choose any 3 for use in the game
Game plays maps on rotation, each map plays for two rounds


2021-10-07 - Project now on github https://github.com/LoveBug2084.


2021-10-04 Build 002519 - Disabled the cursor editing keys that can mess with the logo and instruction screens during boot.


2021-10-03 Build 002518 - Moved logo and instruction screens into boot.bas, removed the logo and instructions .bin files.


2021-10-03 Build 002517 - Added instruction screen to boot loader, disabled ESC key during boot.


2021-10-01 Build 002515 - Added logo to boot loader.


2021-09-30 Build 002514 - Fixed an enemy release bug I recently introduced in build 002508.


2021-09-22 Build 002513 - Fixed a small issue with keyboard redefinition code.


2021-09-20 Build 002509 - Fixed an issues with the sideways ram detection code.


2021-09-19 Build 002508 - Fixed 2 minor issues with the sound engine, slight rewrite to enemy release code to stagger the release frame and reduce cycle load per frame.


2021-09-07 Build 002506 - Altered the layout of the bonus garden flowers and altered the ladybug animation path to match.


2021-09-05 Build 002504 - Fixed a mistake that would cause the game to freeze on a black screen if run on a bbc computer with a speech chip upgrade.


2021-08-30 Build 002503 - Enemy speed was a little too aggressive after level 7, 12 and 18 so i have altered the 4 speed tables to fix this issue.


2021-08-28 - Made some changes to the diamond bonus and fixed an issue with the angel animation.


2021-08-11 - Made some minor tweaks here and there and added an option on the main menu to turn the sound on and off


2021-08-02 - Added the remaining enemy bugs and all thats left now is the ladybug death animation sprites and code. Check out my youtube channel for the latest changes here.

Once the project is completed I will make the full game source code available for download including the source code for the utilitys used to convert images into bbc format.


2021-07-30 - Well its been a while, I've added a lot to the game and I would say its 99% done with just a couple of small things remaining. Check out my youtube channel for the latest changes here.


2021-04-05 - I've just added some AI aiming code and uploaded another video to youtube here.


2021-04-04 - Testing some bug movement, I dont have any enemy bug sprites drawn yet or any AI logic so the bugs are just moving around randomly. I've uploaded a video to my youtube channel here.

Its early days yet and theres still plenty of work to do on this game but slowly i'll get there.


2021-03-02 - I'm currently writing a port of Universal's 1981 arcade game Lady Bug for the Acorn BBC Micro Computer, progress is slow as I dont have a lot of spare time but I do put in an hour here and there its coming along ok.

It's very early on in development and im currently still writing the functions needed for the game and only have a test program so far for checking the sprite rendering, animation, text printing, maze initialization and display, score and game stats display, keyboard input etc.