CB2 micro
Games/Applications
Go back to the main site
About this page

This page includes the CB2 firmware (opensource) and all the games and application programs that have been written for the CB2 micro, as long as I am aware of. This page will be updated constantly with new programs, so make sure you check it out regularly!

Have you written a game or an application for the CB2 micro that you think it will be useful or just fun for other people to have? Please email it to me to upload it on this page. KIT discounts can be arranged if you have your programs listed on this page!



Quick index reference


Click on a word in the table below to navigate to the relevant section/application. Then use "back" on your browser to return to this table.

Note, to download the code of the BASIC programs, copy it to a notepad and save it as a text file. Then transfer this file to your CB2 micro through the serial port. Alternatively, you can always type in the programs manually. In this case, you do not need to type in the first line (PROGRAM:programname), the last line (#) and the line numbers of the program.


1 Games
1.1 SetFree
1.2 Arkanoid
1.3 Eatman
1.4 Racer
1.5 Pong
1.6 Snake
1.7 PongOne
1.8 H-Tron
1.9 Reverse Number
2.0 2048
2.1 MastermindRK
2.2 SuperBrain
2.3 Reversi
2.4 Escape
2.5 Bounce
2.6 TicTacToe
2.7 Lights Out
2.8 15-Puzzle
2.9 RainbowRunner

2 Networked Games

2.1 None yet


3 Applications
3.1 Submenus
3.2 Charset
3.3 SinusCosinus
3.4 Face
3.5 Marquee
3.6 Tilemode
3.7 CB2Matrix
3.8 Alarm-clock
3.9 Charset 2
4.0 Develop
4.1 CB2demos

4 Networked Applications
4.1 microBBS
4.2 Colterm
4.3 ColtermSRV

5 Lab
5.1 Oscilloscope

6 HAM radio
6.1 None yet

7 System files

8 Additional programs






1 Games

Name Description Controls Requirements Code/Download Screenshot
1.1 SetFree SetFree is a game written by KOS. You shoot missiles from your plane to hit prisons and try to free up prisoners. If you hit your plane on a prison or a man or the walls, a life is lost. After a number of free men has been reached, level goes up. You have limited amount of missiles, but you gain more missiles when freeing prisoners.
Left, Right, Up, Down arrows and SPACE
None
1.2 Arkanoid
Arkanoid is the classic game. You control the bar to repel the ball which hits on brick targets. In this version you play forever no matter how many lives you have lost.
Left and Right arrows
None
1.3 Eatman
This game is a clone of the packman game. If you catch a red fruit, the spirits for a short time whiten and can be hunted by you. The spirits, however, are "stupid", because they only move randomly through the labyrinth.
Left, Right , Up and Down arrows
None
1.4 Racer
A purple bonus point brings 20 points, high score is stored in the internal EEPROM.
Left and Right arrows
None
1.5 Pong
This is the well known pong game. It is a dual player version, two people are needed to play this.
Player one: left CTRL and SHIFT keys

Player two: right CTRL and SHIFT keys
Two players
1.6 Snake
This is the well known snake game.
Left, Right , Up and Down arrows None
1.7 PongOne
This is the well known pong game. It is a single player version, you play against the computer. Left, Right , Up and Down arrows None
1.8 H-Tron
This is the well known tron game. It is a single player version, you play against the computer. This version has been written for the CB2 micro by RobertK.
Left, Right, P, SPACE and ESC None
1.9 Reverse Number
A sorting game in which a 9-digit number should be sorted in ascending order with the minimum number of moves. Written by Wolfgang Schmidt

Moves examples:
L5 means: Rotate all numbers from 1 to 5 on the left side.
R6 means: Rotate all numbers from 1 to 6 on the right side.

The goal can of course be achieved through consistent sorting, by always rotating the next number to one end and then to the desired position. This also works if  you only rotate always from the right side or always from the left side. However, this means that too many rotations are required, which can be minimized by clever moves
L and R keys followed by numbers.

None
2.0 2048 The goal of the game is to create a tile with the number 2048 by moving and combining the tiles. Please see the README file inside the zip package for more information on the rules of the game. Up, Down, Left, Right arrows and N, U, E keys Needs 3 program positions, P1, P2, P3. P1:


P2:



P3:



Download zip file

2.1 MastermindRK
This is the classic board game "Mastermind".  The computer will generate a 4-digit colour code that you have to break. Press Cursor Up/Down to change colour, Left/Right to change position, Space or Enter to accept your guess, or Escape to exit. For each guesss you get feedback made up of up to four digits: O...Correct colour at correct position. o...Correct colour at wrong position. This version has been written for the CB2 micro by RobertK. Up, Down, Left, Right arrows and SPACE, ENTER, ESC keys None
2.2 SuperBrain
Wolfgang's SUPERBRAIN is a variant of the classic "MASTERMIND". There are a few differences from the classic game. 1. There are only 10 solution attempts. 2. Code colors never appear twice in a code. 3. The answer is numerical and not with symbols. For each turn, "C+P" (color & position correct) and "COL" (color correct, position incorrect) are displayed in a table. "SUPERBRAIN" is well suited for training and exercise purposes. The desired code can be shown at any time using the (H)elp function.
This is useful for beginners who want to analyze their moves or to uncover weaknesses in thinking. Strategies can also be trained very well if the result is known. But: Ambitious players will surely not uncover the code beforehand. The code you are looking for is always announced at the end of the game.
Up, Down, Left, Right arrows and N, ENTER, ESC keys None


Download zip file
2.3 Reversi This is the famous Reversi game, ported to the CB2 micro by Wolfgang. Please see the Read_Me file inside the zip package for the documentation of the game. Up, Down, Left, Right arrows and Esc key. Needs 3 program positions, P6, P7, P8. P1:


P2:



P3:



Download zip file

2.4 Escape
This game has been written by Franko (Walker Computing). You try to collect elements and escape through the door, without get hitted by the monster.
Up, Down, Left, Right arrows None
2.5 Bounce
This game has been written by Franko (Walker Computing). You try to collect the keys and climb on the walls to open the door without falling down.
Up, Down, Left, Right arrows None
2.6 TicTacToe
This game has been written by Saul. It is the classic Tic Tac Toe game. Play against the computer or another player, or watch the demo (computer to computer)
Numeric keypad or numbers (representing the positions of X,O elements) and ENTER. None
2.7 Lights Out
This game has been written by Wolfgang Schmidt. "LIGHTS OUT" is a puzzle game from the 90's and was made as a handheld brought
on the market. Please see the README file inside the zip package for more information about the game.

R, S, N, ESC, arrow keys and ENTER. None


Download zip file
2.8 15-Puzzle
This game has been written by Wolfgang Schmidt. The aim is to get the numbers from top left to bottom right to be arranged in ascending order. Only the arrow keys are required for this. The number of steps required is counted.Please see the README file inside the zip package for more information about the game.
R, N, ESC and arrow keys. None


Download zip file
2.9 RainbowRunner
This game has been written by KOS.The aim is to collect all the jewels before the time runs out, without hit on the walls. Your rainbow tail blocks you from passing trough it. The game has been written as a demonstration of the Dithering technique for creating more than 16 colors that the CB2 micro supports, using special block characters with different foreground and background colors. Notice how colorful your tail is!
Arrow keys. None




2 Networked Games


Name Description Controls Requirements Code/Download Screenshot











3 Applications

Name Description Controls Requirements Code/Download Screenshot
3.1 Submenus Submenus is an example of how tabbed menus, submenus and screens can be created on the CB2. Within each screen a separate function of yours could be implemented. The menus and submenus names can be changed according to your needs.
ESC, F1, F2, F3 and F4 keys
None

3.2 Charset It prints out the full charset.
None
None

3.3 SinusCosinus It prints out sine and cosine in graphic mode 2.
None
None

3.4 Face It prints out a happy face in graphic mode 2.
None
None

3.5 Marquee It prints out a scrolling marquee.
None
None

3.6 Tilemode This little program shows the usage of the Tilemode. By means of the cursor keys the visible cutout in the 32x32 tiles large field can be scrolled.
Cursor keys
Tilemode library (from firmware package v1.42) loaded at any position P1-P8

3.7 CB2Matrix CB2Matrix is a screen saver of random characters and colors. If "The Matrix" has been written for the CB2 micro, it would probably look like this.
None None
3.8 Alarm-clock
Wolfgang's nice digital clock with alarm which sounds on the TV speaker. None None


Download zip file
3.9 Charset 2
This game has been written by Franko (Walker Computing). It prints out the charset with their corresponding codes. ENTER None

4.0 Develop
This application is written by KOS. It displays the colors and their codes, the characters and their codes (keep pressing F2 for more characters) and generates random dithering colors (extended colors) and their codes. It is useful during programs development. It uses a menu-driven approach. F1-F4 and ESC keys. None
4.1 CB2demos A collection of demos written by Saul. There are 9 demos in total. Five on VMODE 1 and four on VMODE 0.
You can select an endless loop demo secuence with CTRL + ESC on the selection menu. You must exit this mode this CTRL+C.
You can go back to menu (or skip the current demo on endless loop secuence) by pressing a key. In 'Lines+' demo, you must hold a key until the detection works (waiting for a 'FOR...NEXT' loop to finish, because you can't put a goto inside a 'for...next' loop)
Enjoy!
None None





4 Networked Applications

Name Description Controls Requirements Code/Download Screenshot
4.1 microBBS microBBS is a simple Bulletin Board System. The program handles the modem auto-answer and all the communications after the establishment of the dialup connection. With microBBS callers can write their own public messages and preview the list of public messages. They can also view information about the system. The program stores the messages in the internal EEPROM of the MCU, which is limited, so keep messages short. microBBS is designed to display the information correctly aligned on the CBterm of other CB2 micro clients. On connection of a client from a PC, you may need to alter the printed messages spaces, to line up the information better on the PC terminal. If you want to run your own BBS, you may need to change the name of the BBS as well as the system information messages, to suit your needs.
None
External serial dial-up modem, connected to the RS-232 port of the CB2 micro, or external serial to ethernet adapters if it is to be accessed through internet.
4.2 Colterm
Colterm is a terminal communication program that allows the CB2 micro to communicate through the serial port with another CB2 micro that runs a server program compatible with Colterm, written by the users. The advantage of Colterm compared to the CBterm mini, is that Colterm supports transfer of color text and pseudographics as well as sound. The disadvantage is that the data rate can be slower, depended on how you refresh the page, since additional information is being transfered along with every character. Colterm uses a proprietary communication protocol so it is not compatible to "ordinary" terminals. This means that you cannot use it to communicate with a PC or other device or control smart modems etc. For that reason you use CBterm instead. The Colterm client must run on a CB2 micro and the server must be a CB2 micro that is running a server program compatible with Colterm. This server program, be it a game, application or whatever, is supposed to be written by you and must be written to be compatible with the Colterm communication protocol.
Left, Right, Up, Down arrows, ~. Also, [, ],  ENTER and any character. See the Colterm documentation.
The CB2 micro that runs the Colterm, must be connected through the RS-232 port, to another CB2 micro that runs a compatible server program such as ColTermSRV
4.3 ColtermSRV
This is just a test server program to test the Colterm communication. This server just sends out to the Colterm client a page of random characters, then waits for user input, then repeats the process.
None
The CB2 micro that runs the ColTermSRV, must be connected through the RS-232 port, to another CB2 micro that runs the Colterm






5 Lab

Name Description Controls Requirements Code/Download Screenshot
5.1 Oscilloscope This is a small oscilloscope program. The analogue input 0 (PIN2 of the printer connector) is evaluated, the sampling takes place 50 times per second. Since the reference voltage is 2.56V by default, the parameter range 0x100 ... 0x1FF (direct access to ADMUX) is used to set AVCC as the reference voltage. To turn off the demonstration, line 16 of the program must be commented out.
None
None






6 HAM radio

Name Description Controls Requirements Code/Download Screenshot









7 System files

Here is the list of system files (sources, documents, binaries) for the latest and the archived versions of the firmware of the CB2 micro. Note that some versions, although newest, may not include all the files in them (eg. Xmem libraries). In this case you may look in the archived versions for these files. Also, in version 1.52 there are no binaries provided, apart from the system HEX.

Version Files Date
V1.52
Unreleased version. Internal EEPROM bug fix performed on runtime.asm
main_644_152.hex
runtime.asm
avr-chipbasic2_1.52-source.zip
27.5.2019
V1.51 avr-chipbasic2_151-binary.tar.bz2
avr-chipbasic2_151-doc.tar.bz2
avr-chipbasic2_151-source.tar.bz2
26.3.2017
V1.50 avr-chipbasic2_150-binary.tar.bz2
avr-chipbasic2_150-doc.tar.bz2
avr-chipbasic2_150-source.tar.bz2
11.1.2015
V1.49 avr-chipbasic2_149-binary.tar.gz
avr-chipbasic2_149-doc.tar.gz
avr-chipbasic2_149-source.tar.gz
16.6.2014
V1.48 avr-chipbasic2_148-binary.tar.gz
avr-chipbasic2_148-doc.tar.gz
avr-chipbasic2_148-source.tar.gz
23.5.2014
V1.45 avr-chipbasic2_145-binary.tar.gz
avr-chipbasic2_145-doc.tar.gz
avr-chipbasic2_145-source.tar.gz
6.1.2013
V1.44 avr-chipbasic2_144-binary.tar.gz
avr-chipbasic2_144-doc.tar.gz
avr-chipbasic2_144-source.tar.gz
14.11.2012
V1.43 avr-chipbasic2_143-binary.tar.gz
avr-chipbasic2_143-doc.tar.gz
avr-chipbasic2_143-source.tar.gz
27.04.2012
V1.42 avr-chipbasic2_142-binary.tar.gz
avr-chipbasic2_142-doc.tar.gz
avr-chipbasic2_142-source.tar.gz
07.03.2012
V1.39 avr-chipbasic2_139-binary.tar.gz
avr-chipbasic2_139-doc.tar.gz
avr-chipbasic2_139-source.tar.gz
08.10.2011
V1.36 avr-chipbasic2_136-binary.tar.gz
avr-chipbasic2_136-doc.tar.gz
avr-chipbasic2_136-source.tar.gz
15.01.2011
V1.28 avr-chipbasic2_128-binary.tar.gz
avr-chipbasic2_128-doc.tar.gz
avr-chipbasic2_128-source.tar.gz
11.04.2010





8 Additional programs

Here is a list of additional useful programs related to the project. Such programs include chip8 games, basic games not documented on the above tables and utilities for firmware building and programming.

Description Files Date added
Package of 8080, converter and Chip8 programs (allready converted to run on the system)
chipbasic_additional_ch8_programs.zip
23.1.2019
Package of a few more BASIC games (some incomplete)
games2.zip
7.3.2019
Ponyprog, Windows programmer software for the MCU. PonyProg_V207c.zip 23.1.2019
HyperTerminal (extracted from Win2K) for exchanging files with the PC
HyperTerminal.zip 22.3.2020
Linux compiler for building the sources.
cb2_linux_compiler.zip
16.9.2019