Workprint – August 2017

August 5th, 2017 by Jason

Hammer Down is pretty much out of the door now barring unforeseen circumstances, and I’m getting to the point where I’m starting to consider which project to pick up from my overflowing folder of work files. I do have one specific idea already though; for ages I’ve been promising myself that some time would be found to rework my Hex Files programming course for the C64 so that seems like a “plan”. The originals are showing their age somewhat, the first instalment was published two decades ago through Commodore Zone and the revision currently online at Oldschool Gaming has merely been modified for C64Asm, my cross assembler of choice at the time.

I already mentioned a reworking of Hex Files on Facebook about a week ago and the response was positive enough to warrant further consideration; the new version would be more games oriented and, because I’d try to write quite a bit of it in advance rather than putting something together close to deadline each month, should hopefully be a bit more consistent in writing style and overall “direction”… and I’d have to remove all the self modifying code because I’ve never been happy about providing tutorials which rely on it.

It also requires a new name to differentiate it from what’s already online and the front runner right now is “C64 Workshop” which leaves things open for potential re-workings to cover other platforms in future if I feel brave enough. There’s also the question of which development environment to favour; I’ve considered options like Kick Assembler and CBM prg Studio – the latter is already installed on my “scrap box” laptop to get a feel for it – but at the moment my personal setup of ACME being called by Crimson Editor and backed up by a range of other tools doe seem simpler to set up.

I’ve done a little groundwork but It does need some more thought… does anyone have some ibuprofen handy?

Workprint – July 2017

July 12th, 2017 by Jason

Yes I’m running late with the workprint post again (or perhaps I should say “as usual”) but, now that I’ve settled back into playing with game code, there’s been some time over the last couple of weeks spent dabbling with Z80 and quite a bit of head scratching about how to do software sprites; I’ve got a sort of working routine on the Spectrum which lacks proper X movement right now, but a lot more thought is required because it can only deal with three or at a push four objects per frame that are ten by ten pixels. That’s crappy and I know the problem is down to my Z80 “skills” being tragically weak, although another project that shall remain nameless for the moment has recently taught me a few things that might help.

On the 6502 front, I’ve been doing a few tweaks to Hammer Down that have been pending for ages so that’s slowly creeping forwards. There’s also the option of doing a small, reasonably well documented C64 game perhaps under the Backward Engineering label (since it hasn’t seen action for a while) to release via C64CD but I haven’t decided what exactly. My “default setting” is a scrolling shooter of course and part of me is tempted to write something with a simplified attack wave engine similar to the one in Ash & Dave’s Pirates In Hyperspace where the enemies have speed values for X and Y which all get changed when a timer expires. C64CD releases are meant to be simple so should I boil the design down to the bare minimum like that or do something a little more involved I wonder? Again, further mental gymnastics are needed…

MD201706 (accelerated C64)

June 30th, 2017 by Jason

Another release so soon? MD201706 is merely a plotter with some cosmetic niceness, but the code is a little unusual; it needs a SuperCPU (which can be emulated in recent versions of VICE and, unless it’s lying, it should run on either PAL or NTSC) or the Turbo Chameleon set to 6MHz or faster in order to run. Its single buffered and can clear, update and draw four hundred points a frame courtesy of the expansion hardware. It isn’t fully using the capacity of either device, the current firmware of Chameleon with its speed set to “no limit” is slightly faster than the SuperCPU but I restricted myself to 6MHz in case that top speed changes downwards with future updates.

A few people are probably going to ask “why” and the simple answer is “because”, but I’d actually been prodding around my unrolled plotter which was used in MD201704 on the C128, using 2MHz mode in the borders and found myself wondering just what my Turbo Chameleon could do with it. Then Wolf 3D for the SuperCPU arrived and I decided to make my code run with both. As always, GitHub is the source for… erm, the source and questions can be passed on in the usual manner.

This is probably going to be the end of season two for the Monthly Demo series because I want to take a little break to work on games… and yes, I’m already braced for the influx of responses that’ll probably get, so will be running away before this post goes out!