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 (Coming soon)

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.



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