Jump to content

The Woebegone Trail: DevLog - Day 8 - Famous Last Words ...



Woebegone: An “The Oregon Trail” Homage - DevLog: Day 8 (06/07/24) - "Famous Last Words ..."


I had expected, based on my schedule (a.k.a. “the list of fun events my darling wife is constantly adding to our calendar”) to have gotten the “final” version of the Intro (and “Travel”) screen done.  I said as much last time (famous last words) …


That was overly optimistic.


There has been progress; most of it around some supporting activities rather than code specific to thisproject.  That work is a bit broader in relevance than just “The Woebegone Trail”, but I’m counting it in the dev log as that is its primary purpose right now.


So, what’s happened in the last week?


Built MADS 2.1.5 for Aarch64


I wanted to get the latest version of MADS (2.1.5), as an Aarch64-native build, running.  The latest pre-built version I found was in the WUDSN-IDE tools, which is 2.1.4.  This was primarily driven by my desire to keep my toolchains current during development, and partly in preparation for possibly (don't be holding your breath, though) adding a feature or two that would be useful (to me) – which requires being able to build MADS from source.


To do that, I had to get the Free Pascal Compiler running on my Apple-Silicon Macs, which was an unexpectedly simple and friction-free process.  As was then building an Aarch64 version of MADS.


MADS Macros & Includes for Atari 8-bit Computers


These are heavily inspired by @kenjennings's “Atari-Mads-Includes”, but add some behaviors I personally want and, in some cases, work in a different manner, with different conventions, that are closer to my personal coding idioms (and various OCD tendencies).  This is also an exercise in making sure I’m as familiar with MADS (etc.) as I can be, before launching deeply into the code of the game.  It's fair to say that I've learned a lot about using MADS from Ken's code.


This particular macro, from my "display_list.asm" include file, was a fun one - and was one that prompted a desire for a couple of new features in MADS (possible they're already there and I don't know about them/can't find them ... but that's a subject for the MADS thread) ...




Much of the organization was inspired by Ken's work, though I've broken out all my macros into completely separate files - so the raw register and memory-location declarations, labels and values can be directly reused in other assemblers, or macros avoided, without editing.  For example, I have all the registers and bit settings/masks, for ANTIC in one file, and all the macros for building Display Lists, along with Display List specific values, in another.


This structure occasionally results in some duplication of definitions, mostly to allow, say the "display_list.asm" include to be used without having to include the entire ANTIC.asm file, while still keeping macros separate and allowing definitions to occur in the places they make the most sense (even if this puts them in two places).  This is useful for documentation, as well as general usage and understanding - despite the duplicate effort.  Also, it introduces an issue with potential redefinition of labels/symbols, so each file is equipped with a sentinel and logic to ensure things are only defined once.  I'll see how this works in practice; it may wind up being preferable to simply make "display_list.asm" include "ANTIC.asm".


I have dedicated include files providing macros. for debugging (i.e., to help debug the assembly process and output) as well as a separate set specifically for debugging macros.  These are intended to work in a fashion where they can be globally turned on/off, with a MADS command line option (defining a label via the -d switch).


I'll do a dedicated post/thread on the whole thing once it is done (not just poke at it as I need to add something), along with posting the repository.


6502 Assembler Syntax Highlighting Definition for Sublime Text


I did this mostly to pass some time while waiting around between events and travel, while not having access to any of my machines that have my normal development tools on them (for my Atari work, see here).  However, I have Sublime Text available on every machine I use, so this will make sneaking in a bit of 6502 work here and there a lot nicer.  And when I have finished the syntax definition file, I’ll share it; right now it has full 6502 opcode coverage, but is missing most of the common Atari-compatible Macro assembler directives and the bulk of the MADS specific ones.


More Graphics for Woebegone Trail - Intro/Travel Screen


By far my weak-point ... so I tend to put it off ... but I've made some progress, and once I do the oxen, wagon, and their animation, I'll be able to finish the into/travel screen (which is where I thought I'd be by now) and get into the game proper.


Next Steps


  • Get my "includes" work to the point where it's useable without having to keep stopping to add things.
  • Finish the intro/travel screen graphics (they may well completely change before I'm done, so "finish" is relative).
  • Update the intro/travel screen so its in its final, code, form.




Recommended Comments

There are no comments to display.

Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...