I've done a little more work on my text kernel. It still displays only 12 lines of text, but the code is cleaner and it now shows lower-case letters and numbers (the text is from "The Hunchback of Notre Dame"):
I can get this up to 14 lines by overlapping the buffer creation code with the display code (there are lots of free cycles in the kernel). The problem is that this requires four versions of the copying and kernel code, which takes up nearly the whole 4K and leaves very little
It has been rather quiet for me on the Atari front lately, after all of the excitement of the show. Since I returned the other facets of life have been taking up all my time, leaving little room for anything Atari related. It is that time of year when an endless succession of parties and engagements fill up the weekends, and work becomes hectic trying to meet all of those arbritrary end-of-year deadlines. I suspect that I won't have much time now to work on PoP until the New Year, though th
I often seem to have the following motivation problem: whatever task Iam supposed to be working on is the thing that I least want to do,while the thing that I can't work on is the thing that I most want todo! This seems to hold regardless of the tasks that are involved. Iseem to be constantly forcing myself to get on with the essentialtasks, while my mind is pulling me towards the less important tasks.I suppose this is just a corollary to the "shiny object syndrome" thatI described in my blog
The Atari 2600 is a difficult machine to program, but the 6502 assembly language in which this programming is done is relatively easy to understand. Nonetheless, there are certain features of this language that I still don't completely understand. One of these is the indexed indirect mode that I taked about in a previous entry, but this is not a particularly useful feature. The other issue for me is two's complement binary arithmetic which I view as a necessary evil. Two's complement is
I have always preferred programming on paper for some reason. I think this is because I didn't have a computer at home when I first learned to program. The only computer available to me for a long time was in my school, and its usage was strictly controlled and very limited. As a result, I used to write out my programs by hand in exercise books, and spend my precious computer time typing-in these listings and attempting to debug them. At the end of the session, I would print out what I h
Hi Folks,I though I would start this blog to chronicle the development of my various Atari 2600 programming projects, and to avoid cluttering up the main site threads. So far, I have developed the following four games, all of which are now fully playable, but none of them are entirely complete yet:
Hunchy
Jetman
Nightrider
Hunchy2
I also intend to punctuate this with some of my own insights into the differences between British and American culture, which I have observed while travelling.
As someone who has been taught Software Engineering, there is something both refreshing and frightening about assembly programming on the Atari. On the one hand, all of the standard rules about abstraction, modularity, generic data structures and exception handling go out of the window as there is simply not enough memory or cycles. On the other hand, the resulting code ends up becoming increasingly complex and tangled in the quest for space and efficiency!My PoP project is now the largest as
OK, I'm leaving my text kernels alone for the time being and attempting to get back to coding Juno First. I have attached a minor update to the Juno First title screen code. It doesn't contain anything new, but it integrates together various features that have previously been discussed separately here:
Contains the awesome Silkworm tune by moderntimes99.
Displays the score table in white (rather than striped).
Alternates between logo screen and high score table.
My plan is
OK, to get things moving I thought I would post a little about how I came to start programming for the Atari 2600. Unlike many of the folks around here, I have only been programming the 2600 for a short time (since the beginning of 2005), and I still consider myself to be a newbie in the scene.Although I was around in the heyday of the 2600, I must admit that it passed me by completely. I only became interested in computers, and computer games, with the later advent of the 8-bit home micros,
I have been dropping hints for some time about a new Supercharger project that I have been working on. However, I am now finally ready to reveal some details about this project. The main reason for the delay was that I had some difficulties getting my head around the oddities of the Supercharger. On reflection it doesn't appear too complex now, but the lack of clear documentation (now fixed thanks to Eric), and the way you have to read memory to write caused me some big headaches. I ende
I am often struck by the similarity between the activities of game playing and game creation. In both cases, there is generally a long sequence of problems to be solved with an eventual goal in mind. These problems can have complex dependencies, and finding a good solution can make the difference between reaching the goal and starting over. As I have previously noted, I actually gain more enjoyment from creating games than I do from playing them. According to some friends of mine in the
The start of a New Year is one of my favourite times. In Scotland, the beginning of the year (called Hogmanay) has traditionally been the most important celebration of the year. The city of Edinburgh (where I live) has a huge street party every year to celebrate Hogmanay, which involves fireworks, music, dancing, and excessive drinking! It is a time that can be appreciated by anyone, regardless of their religious beliefs or cultural calendar. From my own point of view, I like the opportuni
I attended my first computer show ever yesterday: the vgXpo in Philadelphia (formerly PhillyClassic). I thought I would post my impressions and experiences here just in case anyone is interested Unfortunately I didn't take a camera to the show, but hopefully there will be some pictures by other AA member soon.I have been visiting the AA site for a bit over a year now, since I first got into the Atari 2600 homebrew scene. During that time I have read about various computer shows in the USA o
It has been a while since my last blog posting, and I haven't been very active on the site recently. This is not because I have lost interest in the Atari - it is just that I haven't had time to do much on my various projects lately. The main distraction has been a book that I have been writing for the past year. The publishers deadline was the end of February, and as usual I ended up writing the majority of it in the last two months! However, now that it is out of the way I should hav
For me, a big attraction of programming for the Atari 2600 is that it would not have been possible back in the day without an expensive development setup, and access to the proprietary technical documentation. Consequently, you would almost certainly have had to work for a games company to write code for the machine, much as is the case for the latest batch of consoles. Now, thanks to the Internet, the barrier for entry had been lowered considerably. All of the necessary documentation is f
One of the big problems that I have with Atari 2600 code development is the ever present "shiny object syndrome". For those who are not familiar with this term, it means that you get easily distracted from a task by cool things that you discover along the way. The problem is that the beginning of a project is exciting, as you struggle to fit your game concept into the constraints of the machine. For example, I find writing the display kernel is a particularly enjoyable process. But, once
If you read any discussion on Atari 2600 game programming you will soon come across the term "kernel". For the uninitiated, the kernel is the part of the code responsible for getting a picture on the screen. In any game, the Atari spends around 3/4 of its time in the kernel, so getting this code right is crucial. The reason that a kernel is required is a quirk in the design of the Atari. Memory (RAM) was expensive at that time, and so the console was designed without any video memory.
Just a quick update on my PoP project:In my last entry I outlined a complex scheme for implementing the doors and switches. After a weekend of programming I have now implemented the doors part (see attached) and it appears to work. I have also coded most of the switches part, but it isn't linked to the collision detection yet. The attached code shows two doors being animated. The cool part is that if you go off the screen to the left or right then you see the same doors moving. The ne
I am not very good at multitasking. I find it difficult to switch from one project to another, and so I tend to give a single project my full attention for some time while ignoring the rest. My problem is that I have a lot of projects, including redecorating my house, writing a book, developing several websites, and learning to drive. I guess that my girlfriend should also be included in that list! As a result, my Atari projects tend to move along at a relatively slow pace, with occasiona
The Highs:Juston has finished the label for Hunchy 2 and it looks amazing (see below). My first Atari cart release looks set to happen real soon, and I can't wait to see the finished product. The 2005 minigame multicart is also coming along nicely, and will contain some of my minigames (Hunchy, Jetman & Nightrider). The deadline for the minigame competition is also nearly here and I hope my games will do well, though the competition is tough.The Lows:I have booked my flights and accomo
Here is another nostalgia piece before I get back on the Atari track:My love of 8-bit computing started shortly after our school obtained its first computer: a BBC Micro Model A. This was the early 80's and home computers had only recently become affordable. The BBC Micro is virtually unknown outside the UK, but the design was commissioned by the BBC (our national broadcaster) to accompany a range of educational broadcasts on computer literacy. As such, it became the computer of choice for
I am a perfectionist in may areas of my life. To others, I probably come across as somewhat of a pedant, but I remain unapologetic! I think this quality is present, and necessary, in almost any gamer and programmer. It is this quality that drives one to collect every gold coin in Mario, to achieve the highest score, or squeeze every last byte and cycle out of the Atari 2600. However, there are times when this quest for perfection can get in the way, or it becomes increasingly unclear what "p
I have been spending the last week getting Hunchy II into shape for the PhillyClassic show. I think I have the final binary (barring some possible tweaks to the tile screen), jussts is nearly finished the label, and the manual text is written and being compiled by Tony Morse. With luck, my first Atari 2600 cart game will soon be released, and I can't wait to play it!As part of the testing process for Hunchy II I unpacked my Supercharger from storage. At the same time I decided to see if Po
The name of this blog is "The Southsider", which is the name of the pub that I frequent several times a week. I have attached a photo of the establishment below:To the uninitiated, a pub may simply appear to be a drinking house. However, this is only a small part of the picture. The British pub is a tradition here which stretches back to the bronze age, where "pub" is a shortened version of "public house". The purpose of the pub is to act a place where anyone (over the age of 18) can com
You need to have a thick-skin to be a gamer in Europe. Since the beginning, we have had to suffer from shoddy PAL conversions, lengthy release shedules, and a feeling of total neglect in the market. I am sure there are parts of the world that are worse off, but Europe always comes in as a distinct third place behind Japan and the US. Particularly galling is that a great many games are actually written in Europe, but are still subject to these problems. The latest insult to us Europeans was