• ## Chaos game: fractals by using random numbers (C64 BASIC)

Again on random numbers. This time, we’ll have a look... Read more »
• ## Estimating PI using Monte Carlo Method (C64, BASIC)

OK, it’s not PI day, but I wanted to have... Read more »
• ## C64 BASIC: ECM and MCM scrolling routines

I have been still doing experiments with C64 BASIC this... Read more »
• ## C64 3D: wonderful 3D Commodore logo by AGPX

I just wanted to spend some words on this wonderful... Read more »

## Calculating an approximate value of PI, another method

I was having a look at a method of calculating an approximate value of PI without resorting on random numbers.... Read more »

## Chaos game: fractals by using random numbers (C64 BASIC)

Again on random numbers. This time, we’ll have a look at how to generate fractals by using random numbers. It... Read more »

## Estimating PI using Monte Carlo Method (C64, BASIC)

OK, it’s not PI day, but I wanted to have a trial at estimating PI using Monte Carlo Method anyway.... Read more »

## C64 BASIC: ECM and MCM scrolling routines

I have been still doing experiments with C64 BASIC this week. Again, I have been working on scrolling routines. This... Read more »

## C64 3D: wonderful 3D Commodore logo by AGPX

I just wanted to spend some words on this wonderful one-file demo that was released a couple of days ago.... Read more »

## Freaky Fish Deluxe (new C64 game)

Freaky Fish has been released a few days ago (28/08/2020) and it is the deluxe version of a 4K game... Read more »

## Big moving letters with Commodore 64 BASIC

Being bored myself of my usual checkerboard routines, by using their principles I wanted to have a try at something... Read more »

## Digiloi: a full PETSCII graphics game for the C64 and Plus/4

I only recently discovered a cool game that was released a couple of years ago. It’s Digiloi by Doctor Terrorz.... Read more »

## Animations with Commodore 64 BASIC: zooming chessboard

A zooming chessboard is a classic on demo coding. Assembler is a must here if you want the effect to... Read more »

## The C64 mini by Retrogames – is this a new Commodore 64?

After one year wait I finally decided to buy The C64 mini. Price was the main reason for the purchase... Read more »

## Nintendo Classic Mini NES: a new life for the Nintendo Entertainment System

Some days ago I found the Nintendo Entertainment System Mini on a local store and I just couldn’t resist. So... Read more »

## The C64: the new Commodore 64 by Retrogames

Following the Commodore 64 mini, The C64 is a full sized Commodore 64 that will be released in December 2019.... Read more »

## Thank you for your support!

Hello there. It has been a lot of time since I last wrote a post. I know, I have been... Read more »

## Commodore 64 clock using the CIA TOD clock (from “Compute!”)

I’ve recently typed-in a nice program from Compute! magazine1)Issue 43, December 1983 called “Commodore 64 clock”, by Paul F. Schatz.... Read more »

## Commodore 64 SID music programming with BASIC – playing a simple three voices tune (part 2)

On the first part, we have seen a simple technique for programming a three voices tune with BASIC. The program... Read more »

## Making Commodore 64 music with Goattracker: part 3 – How to create a simple remake of Delta by Rob Hubbard

On part one and part two, we have introduced some very basic concepts about Goattracker.  Now, we are taking a step... Read more »

## Assembly language: a simple UNNEW (OLD) utility (C64)

A very classic topic is the ability to recover a BASIC program that has been killed by an unwanted NEW... Read more »

## Commodore 64 SID music programming with BASIC – playing a simple three voices tune

On earlier posts we have seen how to play a single note and how to play a one voice tune... Read more »

## How to merge two BASIC programs together (C64)

Sometimes it may be useful to merge two BASIC programs together. For instance, we may need on the program we... Read more »

## Commodore 64 keyboard buffer tricks: deleting and creating BASIC lines from BASIC

Let’s have a look at some nice Commodore 64 keyboard buffer tricks. The keyboard buffer is normally used by the... Read more »

## Commodore 64 SID music programming with BASIC – playing a simple one voice tune

Now that we know how to play a single note with Commodore 64 BASIC, why not make something more complex?... Read more »

## Commodore 64 SID music programming with BASIC – playing a note

Although machine language is what we really need for C64 music programming, BASIC may be more than acceptable for some... Read more »

## Very basic BASIC: drawing tilted ellipses (Commodore 64)

Following a request by a reader (Kick Off), I have had a quick look at how to draw tilted ellipses.... Read more »

## Drawing the United Kingdom flag with BASIC (Commodore 64, Sinclair Spectrum)

Drawing the United Kingdom flag is an interesting exercise, especially if we want to draw it by using CBM BASIC... Read more »

## Very Basic BASIC: making a digital clock program using CBM characters and sprites (C64)

One of my readers (Crispin) has kindly requested a simple digital clock program for the Commodore 64 (in BASIC V2).... Read more »

## Plotting graphics on sprites – drawing a filled circle with BASIC V2 (C64)

Sprites are much more than movable objects intended for games. For example, sprites can be used to set up a... Read more »

## Very basic BASIC: plotting characters on screen (C64 and VIC-20)

As we all know, CBM BASIC V2 does not support printing characters on screen starting from a given x, y... Read more »

## User defined characters – a really simple font editor (BASIC, Machine Language – C64)

Creating user defined characters on the Commodore 64 is not that easy from BASIC V2. Binary numbers – which can... Read more »

## VIC-II graphics, accessing ROM font images from different banks (C64)

The Commodore 64 has 64K of RAM memory and the VIC-II graphic chip can access all of it, but in... Read more »

## Very basic BASIC: drawing circles the old way (C64)

On a C64, drawing circles is quite difficult using BASIC V2, not only for speed problems, but also because a... Read more »

## Sharing data between PC and C64. My PC setup using OpenCBM

I like sharing data between PC and C64 using old methods. So yes, I am still using real Commodore 1541s... Read more »

## Game review: Hunchback (Commodore 64)

Hunchback is an old C64 game dating back to 1983. The story comes right from the novel Notre-Dame de Paris... Read more »

## Plotting a 3D function with Simons’ BASIC and BASIC 2.0 (C64)

Some time ago I noticed on Youtube a nice Sinclair Spectrum BASIC program that plots a 3D function. Since I... Read more »

## Very basic BASIC: formatting numbers and updating information on screen

While writing a simple C64 BASIC “game”, I came across some little issues dealing with formatting numbers and updating information... Read more »

## Taking the square of a 16 bit number, a simple technique using 6502 assembly

If we need a fast square of an 8 bit number, we just have to create a simple table of... Read more »

## Programmazione della grafica con il C64, uno sguardo ad alcuni miei semplici programmi [ITALIAN]

Mi presento oggi con un post in italiano per riassumere i miei recenti esperimenti sulla programmazione della grafica con il... Read more »

## Another look at 3D graphics: fast hidden faces removal (back-face culling)

While doing even very simple 3D graphics, the need of a better rendering of images will soon arise. Wireframe 3D... Read more »

## An introduction to vector-based graphics on the Commodore 64 – Rotating simple 3D objects (assembly language)

Vector-based graphics or 3D graphics is quite common today. On old 8 bit computers it was not very common instead,... Read more »

## Assembly math: 6502 8 bit fast multiply routine. 16 bit multiply without bit shifting.

On my last post I had presented an 8 bit fast multiply routine. Actually, it was limited to a narrower range... Read more »

## Optimizing the assembly program “Sphere” – More tips on fixed point math. A fast 8 bit multiply routine.

Fixed point math can be quite useful for fast computations involving decimal numbers. We have seen some examples in this... Read more »

## The Mandelbrot set – a C64 assembly program to draw it fast, using integer math – part 2

In the first part of this article I have presented a Commodore 64 program to draw the Mandelbrot set coded in... Read more »

## The Mandelbrot set – a C64 assembly program to draw it fast, using integer math – part 1

The Mandelbrot set, like most fractals, requires a lot of computations to be drawn. That’s why most programs on the... Read more »

## Commodore 64 BASIC 8×8 Mandelbrot set: faster version

Today I have had a look at the BASIC program that has been presented in this article. I was looking... Read more »

## Drawing the Mandelbrot set – Coding fractals with Commodore 64 BASIC and Freebasic

Fractals are commonly referred to as images which are obtained by performing several calculations. One property that sets those images... Read more »

## Commodore 64 impossible games: Robocop by Ocean (1988)

Although the Commodore 64 offers a wide range of wonderful cleverly coded games, a few titles were just rushed during... Read more »

## Sprite multiplexing, a simple implementation using Commodore 64 BASIC V2

The Commodore 64 graphics chip VIC-II offers 8 hardware sprites. This number is not that impressive, but as C64 sprites... Read more »

## Programming sprites on the Commodore 64, a simple tutorial using BASIC V2

Programming sprites on the Commodore 64 is quite simple, even with Commodore BASIC V2 (the built-in BASIC interpreter). The Commodore... Read more »

## Machine language for the Commodore 64, 128, and other Commodore computers (book review)

“Machine language for the Commodore 64, 128 and other Commodore computers” is a machine language course written by the world-famous... Read more »

## Zooming a square with Commodore 64 BASIC – a simple 2D realtime zoomer using sprites

Coding a zoomer on a vintage computer is something that usually asks for machine language. And even with that language,... Read more »

## 3D Graphics: rotating a cube with Freebasic (PC) and Simons’ BASIC (C64)

3D graphics is what games are all about today. At the time the Commodore 64 and other 8 bit computers... Read more »

## Old BASIC interpreters era: is there anything left for today’s PCs? An introduction to Freebasic.

Most 8 bit computers were equipped with a BASIC interpreter directly available in ROM. Microsoft BASIC was the most common... Read more »

## Commodore 64: breaking the 38K RAM barrier from BASIC. Creating an additional 4K BASIC variables storage area.

Although the Commodore 64 comes with 64K RAM of memory, not all of this amount of memory is available right... Read more »

## Game review: Cabal (Commodore 64, EU version)

The Commodore 64 game Cabal (European version) is a nice port of the original arcade game developed by TAD corporation... Read more »

## 81450 euros – that’s what a Commodore 65 seems to be worth today

On the late few days, I have been following an eBay auction dealing with a nearly mint fully working Commodore... Read more »

## Game review: Rainbow Islands (Commodore 64)

Released by Taito in 1987, Rainbow Islands was an arcade game that enjoyed a huge success. It is the sequel... Read more »

## Game review: Thunder Blade (Commodore 64)

Thunder Blade was an excellent arcade game developed by Sega in 1987. For that era, it offered an incredibly fast... Read more »

## Color bars for movement: a simple perspective scrolling with Commodore 64 BASIC

Several Commodore 64 games use color bars to achieve the illusion of a moving landscape. Even other platforms such as... Read more »

## Very basic BASIC – simple tips for entering strings with INPUT (Commodore 64 BASIC)

When using Commodore 64 BASIC V2, you more than often realize that even performing very simple tasks, like entering strings,... Read more »

## Commodore VIC 20 BASIC programming: scrolling chessboard

Although the available BASIC RAM memory on an unexpanded Commodore VIC 20 is quite limited, it is still possible to... Read more »

## Garbage collection nel BASIC del Commodore 64: come gestirla

Commodore 64 BASIC garbage collection: risolvere il problema del "bug free" mediante semplici accorgimenti nella... Read more »

## 6502 assembly math: division – a simple algorithm using powers of two

There are several routines available on the web that perform integer division in 6502 assembly language. Still, I wanted to... Read more »

## A 35000 characters string with Commodore 64 BASIC

Commodore 64 BASIC strings are limited to 255 characters. But, that doesn’t mean you can’t put a bigger string on... Read more »

## Line drawing routines programming: a different approach. 6502/6510 assembly implementation on the Commodore 64

Drawing lines is a classic topic on computer graphics programming. You will usually find explanations dealing with algorithms derived from... Read more »

## Playing SID tunes with a slow speed: Monty on the Run BASIC player

Sometimes while doing SID music covers I wish I had a way of playing SID tunes with a slow speed.... Read more »

## An introduction to 6502 math: addiction, subtraction and more

Numbers can be fun, and talking about 6502 CPU math is just another way to look at topics we already... Read more »

## The perspective drawing of a sphere coded in 6502 assembly language

Perspective drawing has always been fascinating to me. I will never stop being amazed at the wonder of seeing a... Read more »

## A simple text scroller coded in assemby language for the Commodore 64

I have coded a very simple text scroller that uses most of the concepts explained on this article. I hope... Read more »

## My Amstrad CPC 464, first tests and some pictures. PSU and a simple monochrome video cable.

I have recently bought this nice Amstrad CPC 464 computer. So, I was able to update my article on 8... Read more »

## Commodore 1541 disk drive maintenance, part 2: head alignment

Commodore 1541 alignment issues are less common than what you may think. Before going into the alignment process, some simpler... Read more »

## Commodore 64 BASIC 2.0 garbage collection, strings assignments in loops

Strings assignments inside loops are very likely to create garbage. Even when a new string is assigned to an already... Read more »

## “Hi-res” bitmap graphics with Commodore 64 BASIC 2.0, fast screen clearing routine

Bitmap graphics with Commodore 64 BASIC 2.0 is not easy, but it is possible. The problem is the lack of... Read more »

## Coding a simple smooth text scroller with Commodore 64 BASIC, working with string variables

Text scrollers are quite common on the Commodore 64, due to the ability of the VIC-II chip to perform fine... Read more »

## Garbage collection on Commodore 64 BASIC, how to handle it

One important part of a BASIC interpreter is string handling. This can be done in two ways: either by using static strings or... Read more »

## Home computer BASIC performance tests, some benchmarks

When reading some web content on home computers comparisons, I started asking myself if there is a way of evaluating performances... Read more »

## A review of the Commodore 64 computer: overall features, memory management, applications

The Commodore 64 computer was a great 8 bit system in the 80’s. It featured excellent graphics and sound. Still,... Read more »

## A 64K Commodore 16: how to expand its RAM memory

In 1984, Commodore introduced the Commodore 16 computer. A 16 K RAM computer may seem strange in 1984, but, it... Read more »

## C64 BASIC scrolling chessboards: horizontal scroll

I have recently given another go on my experiments on Commodore 64 BASIC programming. I like doing graphics even without... Read more »

## Building a Commodore 64 testboard, chips desoldering tips

When repairing a Commodore 64 home computer, there is a tool that is very helpful: another working Commodore 64, but... Read more »

## Commodore 64 fix: blank screen, bad cassette switch sense

Today I fixed a 250407 board Commodore 64 with multiple issues. At the beginning, the good old blank screen was... Read more »

## Knight Rider theme, a Commodore 64 SID cover with Goattracker

Knight Rider was a TV series really popular in the 80’s. The opening sequence music theme is still very famous and... Read more »

## Commodore 1541 disk drive maintenance, part 1

Despite the design flaws it was plagued with, the Commodore 1541 has always been regarded as the standard device for disk... Read more »

## Commodore 64 C repair: intermittant operation due to bad contacts on sockets

Commodore 64 C repair case: intermittant operation due to bad socket connections. Sometimes sockets must be... Read more »

## Deliverance (Stormlord II) SID music cover: another Goattracker example

Deliverance is a sequel to the game Stormlord and was released in 1990. It’s a difficult game with a very... Read more »

## Making Commodore 64 music with Goattracker: part 2

On this article Goattracker has been introduced and a very simple song has been created. Now we are going to refine that... Read more »

## Making Commodore 64 SID music with Goattracker

Commodore 64 music is really fun, and I think composing is a good way to tell others what you feel... Read more »

## SID, the Commodore 64 sound chip

The sound chip of the Commodore 64 is the famous SID chip. This is one of the features of the... Read more »

## Commodore 64 C RAM strange issue

Some days ago I’ve found a Commodore 64 C I didn’t even remember I had. After some cleaning, I did... Read more »

## The Atari 7800, an underrated gaming system?

Back in the 80’s the king of 8 bit gaming consoles was the Nintendo Entartainment System, simply known as NES.... Read more »

## A bigger scrolling chessboard with Commodore 64 BASIC

Commodore 64 BASIC can be very fun, even if it lacks commands. In this article I explained my way of creating a... Read more »

## Commodore 64 fix: RESTORE key and power switch

RUN/STOP+RESTORE is a useful key combination that allows you to escape from BASIC programs and some ML programs. For instance,... Read more »

## Coding a scrolling chessboard with Commodore 64 BASIC

You can achieve nice effects like a scrolling chessboard on the Commodore 64 even with BASIC. The VIC-II is really... Read more »

## The Commodore 64 BASIC WAIT statement explained

Commodore BASIC WAIT statement is maybe the most difficult BASIC statement to understand. It’s very difficult to explain for sure,... Read more »

## Simple but effective Commodore 64 BASIC coding

Commodore 64 BASIC is known for its lack of commands and instructions. On the start-up screen message, it is said... Read more »

## THT IC sockets: a comparison between them and how to use

IC sockets make it possible to replace a chip with ease. No need to desolder the chip, you can just lift... Read more »

## Atari 2600 and 7800: repair tales

Vintage Atari consoles are still really fun to use. Atari VCS / 2600 systems are known to be very reliable.... Read more »

## Introducing potentiometers: how they work

Potentiometers are usually referred to as variable resistors. A potentiometer can be seen as a special resistor you can easily change the... Read more »

## Commodore Plus/4, 16, 116: the 264 TED series

The Commodore 64 turned out to be a commercially successful machine since the beginning. However, Jack Tramiel was worried about cheaper... Read more »