Skip to content

-Pedair-o is my version of tetris for the BBC Model B 1980 Acorn

Notifications You must be signed in to change notification settings

Dunvantkai/Yr-Pedair-o

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yr-Pedair-o

Pedair-o is my version of tetris for the bbc model b which is a computer that was released in the 1980 by acorn.

Photos

alt text alt text

Behind the name

I chose the name Pedair-o (Welsh for (The four of))as a nod to the name "tetris" as it is derived from the Greek prefix "tetra" meaning to having four parts (as every block in teras is make up of four blocks)

How i made the Pedair-o and the problems i faced

How is block data stored? Block Data can be broken down into 3 parts Tile Graphics, Cover Tile Graphics and HitBox

Hitbox

Hitbox block data is by far the easiest to understand, as it is just a 3D array.

Since BASIC requires short variable names, 'IBAH' is short for 'I Block Array Hitbox'

The first number represents what place it holds in the 3D array like a "Frame" of sorts. the latter two say at X 0 and Y 0 place BL$ that is short for CHR$(255) which is just the small boxes that the bricks are made of
This way, it is possible to loop over the current "frame" in the array to make sure there are no collisions."
but i found it to be too slow to check each frame to print the hole array alt text


Tile Graphics

IBA is short for 'I Block Array'

Tile Graphics data is the consequence of the inablilaty to quickly load from the main Screen array, The tile graphics are plastered on top of the screen using the PRINTTAB method and some cheeky cursor movements as It makes each move of the active block more seamless and less laggy and does not wright/save anything till it fails the checkdownmove and gets added to the main Screen array
alt text


Cover Tile Graphics

EIBA is short for 'Empty I Block Array'

Cover tile graphics are used to mask the tile graphics pixels and to save the micro from redrawing the whole screen each time the block moves.
alt text


The .Length Problem

alt text

the program was writen in bbc basic which is a dumbed down vertion of Basic it's self

How to run Pedair-o for your self

You can run this software either on a model IDE or an emulater via a browser or BeebEm

Instruction on how to setup each metthord:
Click Here to Install locally
Click Here to Run in Browser
Click Here to Run on IDE

Top

Run Pedair-o on a local computer

Step 1: To run Pedair-o on your computer you will first need to download an emulator for the Acorn BBC Model B such as BeebEm.

Step 2: Once intalled you will need to grab Pedair-o's .sdd or its accompanying side project files from Latest Releases.

Step 3: Now open the BeebEm emulator click "File" : "Load Disk 0...", Then navogate to where you have installed Pedair-o's .sdd File.

Step 4: To check if you have successfully Mounted the Disk you can type *CAT in uppercase to show the list of Programs on said disk.

Step 5: To load a program into ram type LOAD "PEDAIR" and then to execute type RUN. Making sure all is typed in uppercase

Run Pedair-o in a browser

Step 1: To run Pedair-o in a browser you will need an online emulator for the Acorn BBC Model B such as bbc.xania.org

Step 2: Even though you are running this program in a browser, you will still need to download Pedair-o's .sdd file from Latest Releases to upload it to the website

Step 3: open bbc.xania.org in a new a tab and open the drop down tab called Discs, Select "From examples of local" and upload your .sdd file

Step 4: To check if you have successfully Mounted the Disc you can type *CAT in uppercase to show the list of Programs on said disk.

Step 5: To load a program into ram type LOAD "PEDAIR" and then to execute type RUN. Making sure all is typed in uppercase.

Note

When trying to type the * you may find that it will output a whole different key all-together, I'm not sure why it does this but My guess would be a regional keyboard thing to bypass this i have found that one of thease four characters {~ @ | "} should allow you to type *