Star Castle is basically feature complete now, so here is the first release candidate for testing.
Please note that you must upgrade to the latest Stella 3.6.1
The main changes this time are:
New sound effects by LS_Dracon
Title screen music by Kulor
High score table (will only work on Harmony cart)
Improved collision detection
Different ring colours on each wave
During the game, the following can be changed:
Pressing SELECT will skip to the next wave (this i
As many of you will now know, I have been working on a new Atari 2600 homebrew title called Chetiry. This blog entry should hopefully clear us some of the confusion surrounding the project!
Chetiry is a tetromino matching game that should be familiar to most gamers. The original Chetiry project (Chetiry means 4 in Russian) was started by Zach way back in 2006. However, Zach retired from Atari 2600 homebrewing in 2009 with the Chetiry project still unfinished. I had been hoping to see
When I first heard about the AtariVox I wasn't too impressed with the sound quality, and decided not to bother getting one. However, I changed my mind after seeing a demo of Man Goes Down at the vgXpo a few years ago. I realised that the sound quality was a perfect match for the Atari, being broadly equivalent to the quality of speech chips back in the day. I now think it would sound "wrong" if the Atari were to produce high-quality speech, just as it would sound unnatural if Stephen Hawki
Here is another Star Castle update. The game is now playable, although more tuning is required and there are some rough edges.
There are too many changes to list, but some of the highlights:
32 waves of increasing difficulty
More awesome graphics by Nathan - especially the title screen and ring explosion!
Mines can now detach and reattach to the rings as in the arcade
NTSC, PAL60 and B&W colours (press SELECT on the title screen)
As before, you need Stella 3.5.5 or
This is just a quick update on my Juno First game. I hope people don't mind me using this blog as a beta testing area. However, I find it useful to post these development versions as the folks here are quick to spot bugs and problems that I might not notice otherwise. The previous versions had a number of serious bugs, but I hope that most of these have now been resolved. The main features this time are:
All 20 possible sprites are now displayed on screen. This causes some serious fl
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
Here is another minor update to Star Castle:
The rings can now move at variable speeds - I have slowed them down a bit in this version.
The ring segment now disappear immediately when they are hit.
The rings will regenerate when the outer ring is removed.
The gun will fire projectiles at you when the inner ring is breached.
The big question now is how closely the 2600 version should match the arcade version. There are two sticking points, where I think it might be better to
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
Like most people on AtariAge, I have been playing computer games for a long time, since the late 1970s. However, I have always been more interested in how games work, rather than the games themselves. I tend to play each game for a short time, until I have figured out the mechanics and mastered the controls. Once I know that I can beat the game, I tend to lose interest and move on. Every now and again though, a game comes along that I really enjoy playing. These games hold my interest long after
Here is a quick update on my Atari 2600 Star Castle port:
Awesome new sprites supplied by Nathan
Basic sound effects - will improve in future versions
Stars in the background
2 bullets on-screen
Ring segments turn to dots after 1 hit (disable using Left difficulty switch)
Bullets wrap around the screen edges
This version uses a new bankswitching type, so you will need to upgrade to Stella 3.5.5 to make it work. It doesn't work on the Harmony cart yet - but it will soon.
I had a holiday yesterday and was able to spend some time finishing Juno First. I have now posted a beta version in the homebrew forum for general testing.
There are quite a few changes since the last version that I posted, namely:
There are now 32 unique waves, and I have made many changes to the previous set of 16. The game actually has 64 waves in total, but the second 32 are the same as the first with a higher speed setting.
The fuel gauge now empties at twice the spee
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.
There has been a lot of buzz recently about Scotts Star Castle kickstarter (just a few days remaining to grab a copy). It has prompted some people to speculate about this effort, so I thought I would post an update of where things are.
This project is still very much alive, and the plan is to eventually release it through the AtariAge store. The main development is that Thomas Jentzsch (Thrust+, Boulderdash) is now involved, and the coding will now be a joint effort between him and myself.
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
I have produced another Juno First kernel demo which is attached to this message. This mockup shows the aliens at fixed positions, and you can fire the ships laser. This demo is basically just to check that there is enough time to display the scrolling background and reposition the aliens in a 1 Line Kernel (1LK). The background lines actually skip over the repositioning lines which makes it a bit jerky, but this will be fixed later.The next step will basically require a complete kernel re
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 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
I have made a little more progress on my Star Castle demo. You can now move the ship around the screen and fire bullets, although there is no collision detection yet. The controls are:
Joystick Left/Right - Rotate
Joystick Up - Thrust
Fire - Fire Bullets
I have been trying to match the ship movement with the arcade version (by comparing with the MAME version). I think it is now reasonably close, but let me know if you think it needs improvement?
The ship sprite is te
After much head-scratching and code optimisation, I finally have collision detection working! In this version you can shoot the ring segments. For now they only take one hit, but this can easily be changed.
I think I now have all of the pieces necessary to make the game. However, I now need to put it all together and rewrite significant parts of it, such as the kernel. The main issue now is running out of ROM space as all the unrolled code has nearly used up the full 12KB.
This is just a quick update on my Juno First project. I have now created the title screen, thanks to some more amazing artwork by Nathan. I was aiming to reproduce the look of the Arcade title screen as far as possible, and I think I have managed to do a reasonable job given the limitations of the 2600 (arcade shot on the right ):
The logo is 96-pixels wide and is created using the Homestar/Ruby Runner flickering trick. It is necessary to use the Phosphor option in the emulators
I have done some more work on my Juno First game recently. The game code has now grown rather large, and it is becoming increasingly difficult to make changes without causing breakage or exceeding the scanline counts. Also, I'm now into the tedious last 5% of the implementation, which involves tying up all the loose ends and adding polish. However, I'm determined to finish the game this year without getting distracted by any other shinier projects!
The main change in this version
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
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
A little spot of nostalgia as I haven't done anything on PoP in the past week:I enjoy reading the posts on the recently formed Atari 2600 Basic Programming Forum. A lot of the issues that are raised, and the problems faced remind me of my own experiences with BASIC programming many years ago. I think it is a shame that modern computers do not come with a built-in BASIC interpreter as it is a great tool for teaching programming to beginners without the complexities of pointers or objects (prov
There is a discussion currently in the homebrew forum about adding a flashing cockpit to the Juno First ship. One approach would be to use the ball sprite overlaying the player sprite. The ball sprite is used for the laser and is already correctly positioned (horizontally), but I can't find the spare cycles to enable and disable it at the correct time. The main loop where the ship is drawn is a 1LK as follows (the actual code is in kernel1.h in the zip attached to the previous entry):