A$$EMBLE IT!
A fun C64/ C64Studio assembly programming tutorial, exclusively to THE NEW DIMENSION.
LAST UPDATED:JULY 2019
(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 is a tutorial also on how to spawn objects, make use out of macro commands, etc.There are also a few example games for you to play around and have fun
with. Starting from Moon Madness - Episode 2, Missile Blasta - Remastered, all the way through to Rogue Ninja. You also get to learn to add MACROs to
independent sprite objects. Programming games can't get as fun as that! :)
Chapter 6: PROJECT HOUSEKEEPING, CUSTOM SPRITE MOVEMENT, SCROLLING BASICS, AND MORE FUN 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. We also have a feature on creating custom sprite object movements manually in two different ways. Either way, it is controlled by tables of data and code. There's also a simple tutorial on scrolling vertically and horizontally, using just single characters of the same colour and a char based map,
no blocks/tiles are involved. Yet again another two example games are
included during this chapter, which features background scrolling. (Blastopia and Super Toboggan Challenge).
Chapter 7: Disk, Tape and 16KB Cartridge mastering

Do you 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 TLR. You can also learn how to make a 16KB cartridge for future RGCD 16KB cartridge compos, or just for fun..
Chapter 8: Past/Present projects
To
finish of Assemble It, we have example code for the past/present
projects. Most projects are game projects which all consist of the
existing binary data and game code. Some projects require a different
assembler in order to build and run.
For more code, it
is recommended that you also try out the the Codebase Wiki web site.