A$$EMBLE IT!
A fun C64/ C64Studio assembly programming tutorial, exclusively to THE NEW DIMENSION.

LAST UPDATED: June 2018
(Updates will be on-going and announced on the TND News page)

If you want to make and code stuff on a native C64 here's a tool disk to help you create and pack stuff for your programming.
DOWNLOAD HERE

CONTENTS

Chapter 1: INTRODUCTION, AND ABOUT ASSEMBLERS

A brief introduction to assemblers, looking at the type of Commodore 64 assembler. Also gives out an Introduction to cross assembly. This chapter will take a look at the cross-platform tools you can use to produce and generate your own productions - if you manage to get into assembly. Finally, an introduction to the C64Studio assembler and how to set it up.

Chapter 2: ASSEMBLY COMMANDS AND SMALL TRICKS

This chapter starts with the hardware pointers. Which shows the BASIC pokes, and also the HEX addresses of the pointers which trigger the C64's hardware. A table is used to help you learn the actual hardware properties. Basic assembly commands, (everything LDA and STA). Heheheh :). A HELLO WORLD style program to code, and also a practical little example of coding a border flasher.

Chapter 3: SCREEN PROGRAMMING AND DISPLAYING BITMAPS

This chapter starts with an introduction to screen programming, how to display HELLO WORLD (Again), Displaying a screen data to screen RAM (screen data also known as matrix). There is also a simple tutorial on displaying single character screens from charpad, and also extracting the colour data to the specified characters. A rough moving text scroll, horizontally and vertically, moving text vertically and displaying bitmap graphics from a chosen bitmap editor format.


Chapter 4: RASTER SPLITS AND INTERRUPTS, INTRO CODING, DEMO MAKING

After familiarizing yourself with chapter 3's screen programming. This chapter introduces you to raster splits, how to create them. Some of the cool tricks they can do. There is also an introduction to IRQ interrupts, with feature colour washing, multiple rasters. There are also some practical examples, which shows you how to create simple picture demos, intros, etc. There is also an important feature on rasters with timing, with a few other practical examples. Do you want to code your own intros, swing text, logos, scroll text and stuff like that? You have come to the right place.


Chapter 5: SPRITES, OBJECTS AND PROGRAMMING YOUR OWN SIMPLE GAMES

Have you ever fancied a bash at making your own simple games? Well, this chapter shows you how to do exactly that. It gives you basic sprite information, such as how to move them through IRQ raster interrupts. Introduction to sprite to sprite and sprite to background collision. There are also a few games for you to play around with, and have fun with. The best out of the selection are Missile Blasta - Remastered V2, and also Rogue Ninja. You also get to learn to add MACROs to independent objects.

Chapter 6: PROJECT HOUSEKEEPING, AND MORE GAME PROGRAMMING


Sometimes it can be quite painful to code a project using one single source in one project. A small tutorial in chapter 6 goes through project housekeeping, in which teaches you how to implement additional source code files into a project. There is also a little more in game coding, where we take a look at creating a path sprite movement, by writing a sprite movement recording program, charset animation, background scrolling, and play with a few example games that cover the feature.

Chapter 7: Mastering your own games to tape and making a tape mastering disk (Coming soon)

So, did you ever want to show off your new game production using a disk or a tape loader, and bolt a picture on to it with some loading music like I always have? Well, in this chapter. We'll be showing you how to master your own games using a selection of PC-based Tape mastering tools, such as TapeToolBuild by Martin Piper and also S-Load by Daniel Kahlin.

Chapter 8: Richard's C64 projects with example source code (Coming soon)

To end the Assemble It tutorial, a series of actual game / demo / intro / utilty projects complete with C64Studio source code (Or converted to C64 studio source code) which you can play around with (or create something new from). These include some older projects which I developed in my past C64 history.



For more code, it is recommended that you also try out the the Codebase Wiki web site.