Jump to content

0

Karl's Blog



Ultima 3 Musings

Posted by Karl G, 10 March 2019 · 125 views

I've recently started playing the PC version Ultima III: Exodus via DOSBox with an upgrade patch to allow for EGA graphics and midi music to more closely match the colors and music of the original on other platforms.  The PC version out of the box uses CGA graphics and has no music.
 

 

 
This was my introduction to the seri...


Space Game 2K

Posted by Karl G, in Space Game 09 January 2019 · 186 views

I am working on a small subset of Space Game  in assembly that will be 2K in size.
 
Why?  I figure it will be good optimization practise for me as well as a way to strengthen my assembly language development skills.  Also, I'm fascinated by the idea of an Atari game small enough to be loaded from a QR code , so I thought I'd try my ha...


Finishing Up (Minikernel Developer's Guide)

Posted by Karl G, in Minikernel Developer's Guide 01 November 2018 · 203 views

Now that we have a minikernel that can display a life icon for each player and be positioned correctly, we need to display the correct number of lives for each player.  We will do this by setting the NUSIZx register for each player to a value that displays the correct number of copies of the player object that corresponds to their remaining number o...


4) Timing and Horizontal Positioning (Minikernel Developer's Guide)

Posted by Karl G, in Minikernel Developer's Guide 27 September 2018 · 269 views

Up until now, I've avoided talking about timing and cycles in too much detail, but now we will take a closer look, as it will be needed to understand horizontal positioning of objects.
 
Imagine for a moment that you are decorating a house, and you are trying to position a picture on a wall.  You ask a friend to hold up the picture against the...


Defragmenting

Posted by Karl G, in Space Game 12 September 2018 · 203 views

As I've been shuffling around routines to make room for an AtariAge splash screen and "Have you played Atari Today?" melody to Space Game , it occurred to me that it feels like defragmenting a drive by hand.      79 bytes of ROM space left in bank 1      45 bytes of ROM space left in bank 2      0 bytes of ROM...


3) Data and Player Graphics (Minikernel Developer's Guide)

Posted by Karl G, in Minikernel Developer's Guide 11 September 2018 · 241 views

At this point, we have engaged in enough yak shaving - that is, we have covered some assembly coding and made a minikernel do different things, but haven't made visible progress towards our ultimate goal: a minikernel that will display separate life icons for two players.
 
In this lesson, that will change: we will cover drawing player graphics, and...


2) Common Commands (Minikernel Developer's Guide)

Posted by Karl G, in Minikernel Developer's Guide 06 September 2018 · 267 views

6502 assembly code may look a bit intimidating for those who are unfamiliar, with all of the cryptic-seeming three-letter commands (opcodes).  In reality, the language is pretty simple, if a bit tedious in places.  There is no need to memorize the whole list of commands - you will use a subset of the available commands most frequently, and you c...


1) Background and "Hello World" (Minikernel Developer's Guide)

Posted by Karl G, in Minikernel Developer's Guide 05 September 2018 · 294 views

Traditionally, when learning a new computer language, it is common to make one's first program in that language be a simple program that displays the message "Hello, world!".  Displaying text on the Atari 2600 is a bit more complicated, so instead a simple example that is commonly used is a demo that changes the background color on each line to fil...


0) Minikernel Developer's Guide Introduction

Posted by Karl G, in Minikernel Developer's Guide 05 September 2018 · 248 views

Who This is For
 
Batari basic minikernels are bits of display code, written in assembly, that appears below the main screen of an Atari game made with batari Basic.  They can be used to show lives, timers, and many other things.
 

 
Are you an batari Basic programmer who wants to know how to customize your games by making your o...